-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
146 lines (131 loc) · 2.77 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
cmake_minimum_required(VERSION 3.5)
project(mcl_3dl)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_action REQUIRED)
find_package(rclcpp_lifecycle REQUIRED)
find_package(rclcpp_components REQUIRED)
find_package(std_msgs REQUIRED)
find_package(std_srvs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(visualization_msgs REQUIRED)
find_package(builtin_interfaces REQUIRED)
find_package(message_filters REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_geometry_msgs REQUIRED)
find_package(tf2_sensor_msgs REQUIRED)
find_package(tf2_eigen REQUIRED)
find_package(pluginlib REQUIRED)
find_package(pcl_conversions REQUIRED)
find_package(PCL REQUIRED)
set(dependencies
rclcpp
rclcpp_action
rclcpp_lifecycle
rclcpp_components
std_msgs
std_srvs
sensor_msgs
visualization_msgs
nav_msgs
geometry_msgs
builtin_interfaces
message_filters
tf2_ros
tf2
tf2_geometry_msgs
tf2_sensor_msgs
tf2_eigen
pluginlib
pcl_conversions
)
include_directories(
include
${PCL_INCLUDE_DIRS}
)
# sub_maps
add_library(sub_maps SHARED
src/sub_maps.cpp
)
target_link_libraries(sub_maps
${PCL_LIBRARIES}
)
ament_target_dependencies(sub_maps
${dependencies}
)
# parameters
add_library(parameters SHARED
src/parameters.cpp
)
target_link_libraries(parameters
${PCL_LIBRARIES}
)
ament_target_dependencies(parameters
${dependencies}
)
# lidar_measurement_model_likelihood
add_library(lidar_measurement_model_likelihood SHARED
src/lidar_measurement_model_likelihood.cpp
)
target_link_libraries(lidar_measurement_model_likelihood
parameters
${PCL_LIBRARIES}
)
ament_target_dependencies(lidar_measurement_model_likelihood
${dependencies}
)
#mcl 3dl node
add_executable(mcl_3dl
src/mcl_3dl.cpp
src/mcl_3dl_node.cpp
)
target_link_libraries(mcl_3dl
parameters
lidar_measurement_model_likelihood
sub_maps
)
ament_target_dependencies(mcl_3dl
${dependencies}
)
#pcl publisher node
add_executable(pcl_publisher
src/pcl_publisher.cpp
)
target_link_libraries(pcl_publisher
${PCL_LIBRARIES}
)
ament_target_dependencies(pcl_publisher
${dependencies}
)
install(TARGETS
parameters
lidar_measurement_model_likelihood
sub_maps
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
#install node
install(TARGETS
mcl_3dl
pcl_publisher
RUNTIME DESTINATION lib/${PROJECT_NAME}
)
install(DIRECTORY include/
DESTINATION include/
)
install(DIRECTORY
"launch"
"config"
"rviz"
DESTINATION share/${PROJECT_NAME}/
)
ament_export_include_directories(include)
ament_export_dependencies(${dependencies})
ament_package()