complete first draft of package
[epclust.git] / old_C_code / stage1 / src / CMakeLists.txt
CommitLineData
ab4a34ef
BA
1cmake_minimum_required(VERSION 2.8.5)
2project(ppam_mpi)
3
4set(CMAKE_C_FLAGS "-std=gnu99")
5set(CMAKE_C_FLAGS_DEBUG "-g3")
6set(CMAKE_C_FLAGS_RELEASE "-O3")
7
8#already by default... ?!
9include_directories("${CMAKE_SOURCE_DIR}")
10
11#ppam executable (serialize, cluster, classif)
12
13#cds
311c5c07
BA
14set(CGDS_INCLUDE_PATH "/usr/local/include/cgds")
15#set(CGDS_LIBRARY "/usr/local/lib/libcgds.so")
16#find_path(CDS_INCLUDE_PATH "cgds/cgds.h")
17#find_library(CGDS_LIBRARY cgds)
18include_directories(${CGDS_INCLUDE_PATH})
ab4a34ef
BA
19
20#GSL: standard location
21find_path(GSL_INCLUDE_PATH "gsl/gsl_linalg.h")
22include_directories(${GSL_INCLUDE_PATH})
23find_library(GSL_LIBRARY gsl)
24find_library(GSLCBLAS_LIBRARY gslcblas)
25set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY})
26
27#MPI: standard location
28find_package(MPI REQUIRED)
29include_directories(${MPI_INCLUDE_PATH})
30
31#LibXml2: standard location
32find_package(LibXml2 REQUIRED)
33include_directories(${LIBXML2_INCLUDE_DIR})
34
35file(GLOB_RECURSE ppam_src "${CMAKE_SOURCE_DIR}/*.c")
36add_executable(ppam.exe ${ppam_src})
37add_library(ppam SHARED ${ppam_src})
311c5c07
BA
38target_link_libraries(ppam.exe m cgds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES})# ${CGDS_LIBRARY})
39target_link_libraries(ppam m cgds ${MPI_LIBRARIES} ${LIBXML2_LIBRARIES} ${GSL_LIBRARIES})# ${CGDS_LIBRARY})
ab4a34ef
BA
40
41if (MPI_COMPILE_FLAGS)
42 set_target_properties(ppam.exe PROPERTIES
43 COMPILE_FLAGS "${MPI_COMPILE_FLAGS}")
44endif()
45if (MPI_LINK_FLAGS)
46 set_target_properties(ppam.exe PROPERTIES
47 LINK_FLAGS "${MPI_LINK_FLAGS}")
48endif()