set(CMAKE_C_FLAGS "-O3 -std=gnu99 -pedantic -Wall -Werror -g -fopenmp") find_library(MLIB m) find_library(GSL gsl) find_library(BLAS blas) find_library(GSLCBLAS gslcblas) find_package(PkgConfig) pkg_check_modules(TALLOC talloc) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY ) include_directories("${CMAKE_CURRENT_BINARY_DIR}") file(GLOB families "families/*.c") add_library(mef SHARED mef mixture ${families} kmeans kmle em coem kmlegg kmlegamma emgamma kl bregman) target_link_libraries(mef ${MLIB} ${GSL} ${BLAS} ${GSLCBLAS} ${TALLOC_LIBRARIES}) # Generate the pkg-config file. configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY ) install(TARGETS mef DESTINATION lib) install(FILES mef.h DESTINATION include/${PROJECT_NAME}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/${PROJECT_NAME}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mef.pc DESTINATION lib/pkgconfig) file(GLOB_RECURSE INCLUDE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) foreach(header ${INCLUDE_FILES} ) get_filename_component(dir ${header} DIRECTORY) install(FILES ${header} DESTINATION include/${PROJECT_NAME}/${dir}) endforeach()