cmake_minimum_required(VERSION 2.8.5) project(ppam_mpi) set(CMAKE_C_FLAGS "-std=gnu99") set(CMAKE_C_FLAGS_DEBUG "-g3") set(CMAKE_C_FLAGS_RELEASE "-O3") #already by default... ?! include_directories("${CMAKE_SOURCE_DIR}") #ppam executable (serialize, cluster, classif) #cds set(CGDS_INCLUDE_PATH "/usr/local/include/cgds") #set(CGDS_LIBRARY "/usr/local/lib/libcgds.so") #find_path(CDS_INCLUDE_PATH "cgds/cgds.h") #find_library(CGDS_LIBRARY cgds) include_directories(${CGDS_INCLUDE_PATH}) #GSL: standard location find_path(GSL_INCLUDE_PATH "gsl/gsl_linalg.h") include_directories(${GSL_INCLUDE_PATH}) find_library(GSL_LIBRARY gsl) find_library(GSLCBLAS_LIBRARY gslcblas) set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY}) #MPI: standard location find_package(MPI REQUIRED) include_directories(${MPI_INCLUDE_PATH}) #LibXml2: standard location find_package(LibXml2 REQUIRED) include_directories(${LIBXML2_INCLUDE_DIR}) file(GLOB_RECURSE ppam_src "${CMAKE_SOURCE_DIR}/*.c") add_executable(ppam.exe ${ppam_src}) add_library(ppam SHARED ${ppam_src}) target_link_libraries(ppam.exe m cgds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES})# ${CGDS_LIBRARY}) target_link_libraries(ppam m cgds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES})# ${CGDS_LIBRARY}) if (MPI_COMPILE_FLAGS) set_target_properties(ppam.exe PROPERTIES COMPILE_FLAGS "${MPI_COMPILE_FLAGS}") endif() if (MPI_LINK_FLAGS) set_target_properties(ppam.exe PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}") endif()