-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
44 lines (29 loc) · 1.17 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
cmake_minimum_required(VERSION 2.6)
project (cem)
set (CEM_VERSION 0.1)
#set (CMAKE_C_FLAGS "-Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -O2")
set (CMAKE_C_FLAGS "-Wall -O2")
########### CEM BMI library ###############
set (BUILD_SHARED_LIBS ON)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set(bmicem_sources cem/cem.c cem/rocks.c cem/conditions.c cem/utils.c bmi/bmi_cem.c)
add_library(bmi_cem ${bmicem_sources})
add_library(bmi_cem-static STATIC ${bmicem_sources})
set_target_properties(bmi_cem-static PROPERTIES OUTPUT_NAME bmi_cem)
find_library(LIB_M m)
if (LIB_M)
set(MATH_LIB "m")
elseif (LIB_M)
set(MATH_LIB "")
endif (LIB_M)
target_link_libraries(bmi_cem ${MATH_LIB})
########### CEM main ###############
set (cem_sources main.c)
add_executable (cem ${cem_sources})
target_link_libraries(cem bmi_cem-static ${MATH_LIB})
########### Install files ###############
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cem${CMAKE_EXECUTABLE_SUFFIX} DESTINATION bin)
install(FILES bmi/bmi.h bmi/bmi_cem.h DESTINATION include/cem)
install(TARGETS bmi_cem DESTINATION lib)
install(TARGETS bmi_cem-static DESTINATION lib)
add_subdirectory(testing)