Commit | Line | Data |
---|---|---|
ab4a34ef BA |
1 | cmake_minimum_required(VERSION 2.8.5) |
2 | project(ppam_mpi) | |
3 | ||
4 | set(CMAKE_C_FLAGS "-std=gnu99") | |
5 | set(CMAKE_C_FLAGS_DEBUG "-g3") | |
6 | set(CMAKE_C_FLAGS_RELEASE "-O3") | |
7 | ||
8 | #already by default... ?! | |
9 | include_directories("${CMAKE_SOURCE_DIR}") | |
10 | ||
11 | #ppam executable (serialize, cluster, classif) | |
12 | ||
13 | #cds | |
14 | find_path(CDS_INCLUDE_PATH "cds/cds.h") | |
15 | find_library(CDS_LIBRARY cds) | |
16 | include_directories(${CDS_INCLUDE_PATH}) | |
17 | ||
18 | #GSL: standard location | |
19 | find_path(GSL_INCLUDE_PATH "gsl/gsl_linalg.h") | |
20 | include_directories(${GSL_INCLUDE_PATH}) | |
21 | find_library(GSL_LIBRARY gsl) | |
22 | find_library(GSLCBLAS_LIBRARY gslcblas) | |
23 | set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY}) | |
24 | ||
25 | #MPI: standard location | |
26 | find_package(MPI REQUIRED) | |
27 | include_directories(${MPI_INCLUDE_PATH}) | |
28 | ||
29 | #LibXml2: standard location | |
30 | find_package(LibXml2 REQUIRED) | |
31 | include_directories(${LIBXML2_INCLUDE_DIR}) | |
32 | ||
33 | file(GLOB_RECURSE ppam_src "${CMAKE_SOURCE_DIR}/*.c") | |
34 | add_executable(ppam.exe ${ppam_src}) | |
35 | add_library(ppam SHARED ${ppam_src}) | |
36 | target_link_libraries(ppam.exe m cds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES} ${CDS_LIBRARY}) | |
37 | target_link_libraries(ppam m cds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES} ${CDS_LIBRARY}) | |
38 | ||
39 | if (MPI_COMPILE_FLAGS) | |
40 | set_target_properties(ppam.exe PROPERTIES | |
41 | COMPILE_FLAGS "${MPI_COMPILE_FLAGS}") | |
42 | endif() | |
43 | if (MPI_LINK_FLAGS) | |
44 | set_target_properties(ppam.exe PROPERTIES | |
45 | LINK_FLAGS "${MPI_LINK_FLAGS}") | |
46 | endif() |