-
Notifications
You must be signed in to change notification settings - Fork 48
/
CMakeLists.txt
75 lines (63 loc) · 1.67 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
cmake_minimum_required(VERSION 2.8.3)
project(imu_calib)
find_package(catkin REQUIRED COMPONENTS
cmake_modules
roscpp
sensor_msgs
)
find_package(Eigen REQUIRED)
pkg_check_modules(YAML yaml-cpp)
###################################
## catkin specific configuration ##
###################################
catkin_package(
INCLUDE_DIRS include
LIBRARIES accel_calib
CATKIN_DEPENDS cmake_modules roscpp sensor_msgs
DEPENDS Eigen yaml-cpp
)
###########
## Build ##
###########
include_directories(include)
include_directories(
${catkin_INCLUDE_DIRS}
${Eigen_INCLUDE_DIRS}
${YAML_INCLUDEDIR}
)
# accel_calib library
add_library(accel_calib
src/accel_calib/accel_calib.cpp
)
target_link_libraries(accel_calib
${YAML_LIBRARIES}
)
# do_calib node
add_executable(do_calib src/do_calib_node.cpp src/do_calib.cpp)
add_dependencies(do_calib ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(do_calib
accel_calib
${catkin_LIBRARIES}
)
# apply_calib node
add_executable(apply_calib src/apply_calib_node.cpp src/apply_calib.cpp)
add_dependencies(apply_calib ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(apply_calib
accel_calib
${catkin_LIBRARIES}
)
#############
## Install ##
#############
# executables and libraries
install(TARGETS accel_calib do_calib apply_calib
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
# header files
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)