-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
258 lines (230 loc) · 6.08 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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
cmake_minimum_required(VERSION 3.8)
project(ergoCub_ros2)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(lifecycle_msgs REQUIRED)
find_package(rclcpp_lifecycle REQUIRED)
find_package(tf2_ros REQUIRED)
find_package(tf2 REQUIRED)
find_package(tf2_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
find_package(nav_2d_msgs REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(laser_geometry REQUIRED)
find_package(pcl_conversions REQUIRED)
FIND_PACKAGE(YARP COMPONENTS os sig REQUIRED)
find_package(PCL 1.2 REQUIRED)
find_package(nav2_common REQUIRED)
find_package(nav2_core REQUIRED)
find_package(nav2_costmap_2d REQUIRED)
find_package(nav2_util REQUIRED)
find_package(pluginlib REQUIRED)
find_package(visualization_msgs REQUIRED)
find_package(std_srvs REQUIRED)
find_package(tf2_kdl REQUIRED)
find_package(iDynTree 4.3.0 REQUIRED)
find_package(UnicyclePlanner 0.5.2 REQUIRED)
find_package(Eigen3 REQUIRED)
include_directories(/opt/ros/humble/include/tf2_geometry_msgs)
include_directories(/opt/ros/humble/include/tf2)
include_directories(/opt/ros/humble/include/tf2_ros)
include_directories(/opt/ros/humble/include/laser_geometry)
include_directories(/opt/ros/humble/include/pcl_conversions)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
nav2_package()
add_executable(ProtoCode unicyclePlanner_tests/ProtoCode.cpp)
target_link_libraries(ProtoCode UnicyclePlanner ${iDynTree_LIBRARIES}
)
ament_target_dependencies(ProtoCode
"std_msgs"
"tf2_ros"
"tf2_msgs"
"nav_msgs"
"rclcpp"
"visualization_msgs"
"UnicyclePlanner"
"tf2"
"nav2_util"
)
add_executable(odometry_standalone odometry_standalone/main.cpp odometry_standalone/src/odometry_standalone.cpp)
ament_target_dependencies(odometry_standalone
"std_msgs"
"tf2_ros"
"tf2_msgs"
"YARP"
"nav_msgs"
"rclcpp"
)
target_include_directories(odometry_standalone PRIVATE ${CMAKE_SOURCE_DIR}/odometry_standalone/include)
add_executable(odometry_callback odometry_callback/main.cpp odometry_callback/src/odometry_callback.cpp odometry_callback/src/yarp_odometry_processor.cpp)
ament_target_dependencies(odometry_callback
"std_msgs"
"tf2_ros"
"tf2_msgs"
"YARP"
"nav_msgs"
"rclcpp"
)
target_include_directories(odometry_callback PRIVATE ${CMAKE_SOURCE_DIR}/odometry_callback/include)
add_executable(odom_GT src/odom_GT.cpp)
ament_target_dependencies(odom_GT
"std_msgs"
"tf2_ros"
"tf2_msgs"
"YARP"
"nav_msgs"
"rclcpp"
)
add_executable(scan_filter_compensated src/scan_filtering_ros2_compensated.cpp)
ament_target_dependencies(scan_filter_compensated
"std_msgs"
"tf2_ros"
"tf2_msgs"
"rclcpp"
"laser_geometry"
"pcl_conversions"
"geometry_msgs"
"sensor_msgs"
)
target_link_libraries(scan_filter_compensated ${PCL_LIBRARIES})
add_executable(chest_projection src/chest_projection.cpp)
ament_target_dependencies(chest_projection
"std_msgs"
"tf2_ros"
"tf2_msgs"
"YARP"
"rclcpp"
)
add_executable(async_walking_controller_talker src/async_walking_controller_talker.cpp)
ament_target_dependencies(async_walking_controller_talker
"YARP"
"rclcpp"
"nav_msgs"
"tf2_ros"
"tf2_msgs"
"tf2"
"nav2_util"
"nav_2d_msgs"
)
add_executable(footsteps_viewer src/footsteps_viewer.cpp)
ament_target_dependencies(footsteps_viewer
"YARP"
"rclcpp"
"nav_msgs"
"tf2_ros"
"tf2_msgs"
"tf2"
"nav2_util"
"nav_2d_msgs"
"visualization_msgs"
)
add_executable(virtual_unicycle_publisher src/virtual_unicycle_publisher.cpp)
ament_target_dependencies(virtual_unicycle_publisher
"YARP"
"rclcpp"
"tf2_ros"
"tf2_msgs"
"tf2"
"tf2_kdl"
)
add_executable(CoM_trajectory_publisher src/CoM_trajectory_publisher.cpp)
ament_target_dependencies(CoM_trajectory_publisher
"nav_msgs"
"YARP"
"rclcpp"
"geometry_msgs"
)
add_executable(obstacle_script src/obstacle_script.cpp)
ament_target_dependencies(obstacle_script
"YARP"
)
add_executable(planner_trigger_server planner_trigger/planner_trigger_server.cpp)
ament_target_dependencies(planner_trigger_server
"YARP"
"rclcpp"
"std_srvs"
)
add_executable(dummy_planner unicyclePlanner_tests/dummy_planner.cpp)
ament_target_dependencies(dummy_planner
"rclcpp"
"geometry_msgs"
"nav_msgs"
)
add_executable(interpolation_walking_controller_talker src/interpolation_walking_controller_talker.cpp)
ament_target_dependencies(interpolation_walking_controller_talker
"YARP"
"rclcpp"
"nav_msgs"
"tf2_ros"
"tf2_msgs"
"tf2"
"nav2_util"
"nav_2d_msgs"
)
set(dependencies
rclcpp
geometry_msgs
nav2_costmap_2d
pluginlib
nav_msgs
nav2_util
nav2_core
tf2
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
# the following line skips the linter which checks for copyrights
# comment the line when a copyright and license is added to all source files
set(ament_cmake_copyright_FOUND TRUE)
# the following line skips cpplint (only works in a git repo)
# comment the line when this package is in a git repo and when
# a copyright and license is added to all source files
set(ament_cmake_cpplint_FOUND TRUE)
ament_lint_auto_find_test_dependencies()
endif()
install(TARGETS
scan_filter_compensated
odometry_standalone
#odometry_callback
odom_GT
chest_projection
CoM_trajectory_publisher
obstacle_script
ProtoCode
#walking_controller_talker
footsteps_viewer
virtual_unicycle_publisher
async_walking_controller_talker
planner_trigger_server
dummy_planner
interpolation_walking_controller_talker
DESTINATION lib/${PROJECT_NAME})
# install the launch directory
install(DIRECTORY
launch
DESTINATION share/${PROJECT_NAME}/
)
# install the maps directory
install(DIRECTORY
maps
DESTINATION share/${PROJECT_NAME}/
)
# install the param directory
install(DIRECTORY
param
DESTINATION share/${PROJECT_NAME}/
)
# install the RVIZ directory
install(DIRECTORY
rviz
DESTINATION share/${PROJECT_NAME}/
)
ament_package()