
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/include/hydrogen/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h" @ONLY)

FILE(GLOB_RECURSE hydrogen_INCLUDES include/*.h)
FILE(GLOB_RECURSE hydrogen_SOURCES src/*.cpp src/*.cc src/*.c)
LIST(APPEND hydrogen_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h)

ADD_LIBRARY( hydrogen-core-${VERSION} ${H2CORE_LIBRARY_TYPE} ${hydrogen_SOURCES})
INCLUDE_DIRECTORIES( include
    ${CMAKE_SOURCE_DIR}/include                 # regular headers
    ${CMAKE_CURRENT_BINARY_DIR}/include         # generated config.h
    ${QT_INCLUDES}
    ${LIBTAR_INCLUDE_DIR}
    ${LIBARCHIVE_INCLUDE_DIR}
    ${LIBSNDFILE_INCLUDE_DIR}
    ${ALSA_INCLUDE_DIR}
    ${OSS_INCLUDE_DIR}
    ${JACK_INCLUDE_DIR}
    ${PORTAUDIO_INCLUDE_DIR}
    ${PORTMIDI_INCLUDE_DIR}
    ${COREAUDIO_INCLUDE_DIR}
    ${COREMIDI_INCLUDE_DIR}
    ${LASH_INCLUDE_DIR}
    ${LRDF_INCLUDE_DIR}
    ${RUBBERBAND_INCLUDE_DIR}
)

TARGET_LINK_LIBRARIES(hydrogen-core-${VERSION}
    ${QT_QTCORE_LIBRARY}
    ${QT_QTXML_LIBRARY}
    ${QT_QTXMLPATTERNS_LIBRARY}
    ${LIBTAR_LIBRARIES}
    ${LIBARCHIVE_LIBRARIES}
    ${LIBSNDFILE_LIBRARIES}
    ${ALSA_LIBRARIES}
    ${OSS_LIBRARIES}
    ${JACK_LIBRARIES}
    ${PORTAUDIO_LIBRARIES}
    ${PORTMIDI_LIBRARIES}
    ${AUDIOUNIT_LIBRARY}
    ${CORESERVICES_LIBRARY}
    ${COREAUDIO_LIBRARIES}
    ${COREMIDI_LIBRARIES}
    ${PULSEAUDIO_LIBRARIES}
    ${LASH_LIBRARIES}
    ${LRDF_LIBRARIES}
    ${RUBBERBAND_LIBRARIES}
    ${ZLIB_LIBRARIES}
    ${CMAKE_THREAD_LIBS_INIT}
)

#SET_TARGET_PROPERTIES(hydrogen-core-${VERSION} PROPERTIES PUBLIC_HEADER   "${hydrogen_INCLUDES}" )

INSTALL(TARGETS hydrogen-core-${VERSION}
    LIBRARY DESTINATION "lib${LIB_SUFFIX}"
    ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
    # do not copy directory hierarchy
    #PUBLIC_HEADER DESTINATION include/hydrogen
)

IF(NOT APPPLE AND NOT WIN32)
    INSTALL(DIRECTORY include DESTINATION "${CMAKE_INSTALL_PREFIX}" FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE)
    INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/include/hydrogen/config.h" DESTINATION "${CMAKE_INSTALL_PREFIX}/include/hydrogen" )
ENDIF()

