forked from cogsys-tuebingen/cslibs_mapping
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
126 lines (111 loc) · 3.58 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
cmake_minimum_required(VERSION 2.8.3)
project(cslibs_mapping)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(cmake/cslibs_mapping_enable_c++11.cmake)
include(cmake/cslibs_mapping_extras.cmake)
include(cmake/cslibs_mapping_show_headers.cmake)
include(cmake/cslibs_mapping_add_unit_test_gtest.cmake)
include(cmake/cslibs_mapping_eigen_cpu_flags.cmake)
find_package(catkin REQUIRED COMPONENTS
cslibs_plugins
cslibs_plugins_data
cslibs_gridmaps
cslibs_ndt_2d
cslibs_ndt_3d
cslibs_time
cslibs_utility
cslibs_math_ros
message_generation
std_msgs
pluginlib
)
find_package(Boost REQUIRED COMPONENTS filesystem)
find_package(octomap QUIET)
find_package(yaml-cpp REQUIRED)
add_service_files(
FILES
SaveMap.srv
)
generate_messages(
DEPENDENCIES
std_msgs
)
catkin_package(
INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS cslibs_plugins cslibs_plugins_data cslibs_gridmaps cslibs_ndt_2d cslibs_ndt_3d
cslibs_time cslibs_utility cslibs_math_ros
CFG_EXTRAS cslibs_mapping_enable_c++11.cmake
cslibs_mapping_extras.cmake
cslibs_mapping_show_headers.cmake
cslibs_mapping_add_unit_test_gtest.cmake
cslibs_mapping_eigen_cpu_flags.cmake
)
include_directories(
include
${catkin_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
)
if(octomap_FOUND)
find_package(octomap_msgs REQUIRED)
include_directories(
${OCTOMAP_INCLUDE_DIRS}
)
endif()
cslibs_mapping_show_headers()
if (octomap_FOUND)
#octomap
add_library(${PROJECT_NAME}
src/mapper/ndt_grid_mapper_2d.cpp
src/mapper/ndt_grid_mapper_3d.cpp
src/mapper/occupancy_grid_mapper_2d.cpp
src/mapper/occupancy_grid_mapper_3d.cpp
src/mapper/occupancy_ndt_grid_mapper_2d.cpp
src/mapper/occupancy_ndt_grid_mapper_3d.cpp
src/mapper/min_height_mapper_2d.cpp
src/mapper/distribution_height_mapper_2d.cpp
src/publisher/distributions_publisher.cpp
src/publisher/occupancy_grid_publisher.cpp
src/publisher/octomap_publisher.cpp
src/publisher/pointcloud_publisher.cpp
)
target_link_libraries(${PROJECT_NAME}
${catkin_LIBRARIES}
${OCTOMAP_LIBRARIES}
yaml-cpp
)
else()
#no octomap
add_library(${PROJECT_NAME}
src/mapper/ndt_grid_mapper_2d.cpp
src/mapper/ndt_grid_mapper_3d.cpp
src/mapper/occupancy_grid_mapper_2d.cpp
src/mapper/occupancy_ndt_grid_mapper_2d.cpp
src/mapper/occupancy_ndt_grid_mapper_3d.cpp
src/mapper/min_height_mapper_2d.cpp
src/mapper/distribution_height_mapper_2d.cpp
src/publisher/distributions_publisher.cpp
src/publisher/occupancy_grid_publisher.cpp
src/publisher/pointcloud_publisher.cpp
)
target_link_libraries(${PROJECT_NAME}
${catkin_LIBRARIES}
yaml-cpp
)
endif()
add_executable(${PROJECT_NAME}_node
src/nodes/mapping_node.cpp
)
add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(${PROJECT_NAME}_node
${PROJECT_NAME}
${catkin_LIBRARIES}
yaml-cpp
)
install(FILES plugins.xml DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION})
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})