Skip to content

Commit b25ffb9

Browse files
committed
Fix ament_target_dependencies
Signed-off-by: Alberto Tudela <ajtudela@gmail.com>
1 parent 5c66f60 commit b25ffb9

File tree

10 files changed

+243
-122
lines changed

10 files changed

+243
-122
lines changed

plansys2_bt_example/CMakeLists.txt

Lines changed: 89 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(plansys2_bt_example)
33

4-
54
find_package(ament_cmake REQUIRED)
6-
find_package(rclcpp REQUIRED)
7-
find_package(rclcpp_action REQUIRED)
5+
find_package(behaviortree_cpp REQUIRED)
86
find_package(geometry_msgs REQUIRED)
9-
find_package(tf2_geometry_msgs REQUIRED)
107
find_package(nav2_msgs REQUIRED)
11-
find_package(plansys2_msgs REQUIRED)
8+
find_package(plansys2_bt_actions REQUIRED)
129
find_package(plansys2_domain_expert REQUIRED)
1310
find_package(plansys2_executor REQUIRED)
11+
find_package(plansys2_msgs REQUIRED)
12+
find_package(plansys2_pddl_parser REQUIRED)
1413
find_package(plansys2_planner REQUIRED)
1514
find_package(plansys2_problem_expert REQUIRED)
16-
find_package(plansys2_pddl_parser REQUIRED)
17-
find_package(ament_index_cpp REQUIRED)
18-
find_package(plansys2_bt_actions REQUIRED)
15+
find_package(rclcpp REQUIRED)
16+
find_package(rclcpp_action REQUIRED)
17+
find_package(rclcpp_lifecycle REQUIRED)
18+
find_package(tf2_geometry_msgs REQUIRED)
1919

2020
if(NOT CMAKE_CXX_STANDARD)
2121
set(CMAKE_CXX_STANDARD 17)
2222
endif()
2323

24-
set(dependencies
25-
rclcpp
26-
rclcpp_action
27-
geometry_msgs
28-
tf2_geometry_msgs
29-
nav2_msgs
30-
plansys2_msgs
31-
plansys2_domain_expert
32-
plansys2_executor
33-
plansys2_planner
34-
plansys2_problem_expert
35-
plansys2_pddl_parser
36-
ament_index_cpp
37-
plansys2_bt_actions
38-
)
39-
40-
include_directories(include)
41-
4224
add_library(plansys2_recharge_bt_node SHARED src/behavior_tree_nodes/Recharge.cpp)
4325
list(APPEND plugin_libs plansys2_recharge_bt_node)
4426

@@ -55,28 +37,81 @@ add_library(plansys2_approach_object_bt_node SHARED src/behavior_tree_nodes/Appr
5537
list(APPEND plugin_libs plansys2_approach_object_bt_node)
5638

5739
foreach(bt_plugin ${plugin_libs})
58-
ament_target_dependencies(${bt_plugin} ${dependencies})
40+
target_include_directories(${bt_plugin} PUBLIC
41+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
42+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>"
43+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
44+
target_link_libraries(${bt_plugin}
45+
PUBLIC
46+
behaviortree_cpp::behaviortree_cpp
47+
${geometry_msgs_TARGETS}
48+
${nav2_msgs_TARGETS}
49+
plansys2_bt_actions::plansys2_bt_actions
50+
PRIVATE
51+
${tf2_geometry_msgs_TARGETS}
52+
rclcpp_lifecycle::rclcpp_lifecycle
53+
)
5954
target_compile_definitions(${bt_plugin} PRIVATE BT_PLUGIN_EXPORT)
6055
endforeach()
6156

6257
add_executable(assemble_action_node src/assemble_action_node.cpp)
63-
ament_target_dependencies(assemble_action_node ${dependencies})
58+
target_include_directories(assemble_action_node PRIVATE
59+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
60+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
61+
)
62+
target_link_libraries(assemble_action_node
63+
PRIVATE
64+
rclcpp::rclcpp
65+
rclcpp_action::rclcpp_action
66+
plansys2_executor::plansys2_executor
67+
)
6468

6569
add_executable(assemble_controller_node src/assemble_controller_node.cpp)
66-
ament_target_dependencies(assemble_controller_node ${dependencies})
70+
target_include_directories(assemble_controller_node PRIVATE
71+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
72+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
73+
)
74+
target_link_libraries(assemble_controller_node
75+
PRIVATE
76+
plansys2_domain_expert::plansys2_domain_expert
77+
plansys2_executor::plansys2_executor
78+
${plansys2_msgs_TARGETS}
79+
plansys2_pddl_parser::plansys2_pddl_parser
80+
plansys2_planner::plansys2_planner
81+
plansys2_problem_expert::plansys2_problem_expert
82+
rclcpp::rclcpp
83+
rclcpp_action::rclcpp_action
84+
)
6785

6886
add_executable(nav2_sim_node src/nav2_sim_node.cpp)
69-
ament_target_dependencies(nav2_sim_node ${dependencies})
87+
target_include_directories(nav2_sim_node PRIVATE
88+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
89+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>"
90+
)
91+
target_link_libraries(nav2_sim_node
92+
PRIVATE
93+
${nav2_msgs_TARGETS}
94+
rclcpp::rclcpp
95+
rclcpp_action::rclcpp_action
96+
${tf2_geometry_msgs_TARGETS}
97+
)
98+
99+
install(DIRECTORY include/
100+
DESTINATION include/${PROJECT_NAME}
101+
)
70102

71-
install(DIRECTORY launch pddl behavior_trees_xml config DESTINATION share/${PROJECT_NAME})
103+
install(DIRECTORY launch pddl behavior_trees_xml config
104+
DESTINATION share/${PROJECT_NAME}
105+
)
72106

73-
install(TARGETS
74-
assemble_action_node
75-
assemble_controller_node
76-
nav2_sim_node
77-
${plugin_libs}
107+
install(TARGETS ${plugin_libs}
108+
EXPORT ${PROJECT_NAME}
78109
ARCHIVE DESTINATION lib
79110
LIBRARY DESTINATION lib
111+
RUNTIME DESTINATION bin
112+
)
113+
114+
install(TARGETS assemble_action_node assemble_controller_node nav2_sim_node
80115
RUNTIME DESTINATION lib/${PROJECT_NAME}
81116
)
82117

@@ -87,6 +122,23 @@ if(BUILD_TESTING)
87122
find_package(ament_cmake_gtest REQUIRED)
88123
endif()
89124

90-
ament_export_dependencies(${dependencies})
125+
ament_export_include_directories(include/${PROJECT_NAME})
126+
ament_export_libraries(${PROJECT_NAME})
127+
ament_export_targets(${PROJECT_NAME})
128+
ament_export_dependencies(
129+
behaviortree_cpp
130+
geometry_msgs
131+
nav2_msgs
132+
plansys2_msgs
133+
plansys2_domain_expert
134+
plansys2_executor
135+
plansys2_planner
136+
plansys2_problem_expert
137+
plansys2_pddl_parser
138+
plansys2_bt_actions
139+
rclcpp
140+
rclcpp_action
141+
tf2_geometry_msgs
142+
)
91143

92144
ament_package()

plansys2_bt_example/package.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
<buildtool_depend>ament_cmake</buildtool_depend>
1414

15+
<depend>behaviortree_cpp</depend>
1516
<depend>rclcpp</depend>
1617
<depend>rclcpp_action</depend>
1718
<depend>geometry_msgs</depend>
@@ -23,7 +24,6 @@
2324
<depend>plansys2_planner</depend>
2425
<depend>plansys2_problem_expert</depend>
2526
<depend>plansys2_pddl_parser</depend>
26-
<depend>ament_index_cpp</depend>
2727
<depend>plansys2_bt_actions</depend>
2828

2929
<exec_depend>plansys2_bringup</exec_depend>
Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,54 @@
11
cmake_minimum_required(VERSION 3.5)
22
project(plansys2_cascade_example)
33

4-
54
find_package(ament_cmake REQUIRED)
5+
find_package(plansys2_executor REQUIRED)
66
find_package(rclcpp REQUIRED)
77
find_package(rclcpp_action REQUIRED)
8-
find_package(plansys2_msgs REQUIRED)
9-
find_package(plansys2_executor REQUIRED)
8+
find_package(rclcpp_cascade_lifecycle REQUIRED)
109

1110
set(CMAKE_CXX_STANDARD 17)
1211

13-
set(dependencies
14-
rclcpp
15-
rclcpp_action
16-
plansys2_msgs
17-
plansys2_executor
18-
)
19-
2012
add_executable(move_action_node src/move_action_node.cpp)
21-
ament_target_dependencies(move_action_node ${dependencies})
13+
target_link_libraries(move_action_node
14+
PRIVATE
15+
plansys2_executor::plansys2_executor
16+
rclcpp::rclcpp
17+
rclcpp_action::rclcpp_action
18+
)
2219

2320
add_executable(charge_action_node src/charge_action_node.cpp)
24-
ament_target_dependencies(charge_action_node ${dependencies})
21+
target_link_libraries(charge_action_node
22+
PRIVATE
23+
plansys2_executor::plansys2_executor
24+
rclcpp::rclcpp
25+
rclcpp_action::rclcpp_action
26+
)
2527

2628
add_executable(ask_charge_action_node src/ask_charge_action_node.cpp)
27-
ament_target_dependencies(ask_charge_action_node ${dependencies})
29+
target_link_libraries(ask_charge_action_node
30+
PRIVATE
31+
plansys2_executor::plansys2_executor
32+
rclcpp::rclcpp
33+
rclcpp_action::rclcpp_action
34+
)
2835

2936
add_executable(check_obstacles_node src/check_obstacles_node.cpp)
30-
ament_target_dependencies(check_obstacles_node ${dependencies})
37+
target_link_libraries(check_obstacles_node
38+
PRIVATE
39+
rclcpp::rclcpp
40+
rclcpp_cascade_lifecycle::rclcpp_cascade_lifecycle
41+
)
3142

32-
install(DIRECTORY launch pddl DESTINATION share/${PROJECT_NAME})
43+
install(DIRECTORY launch pddl
44+
DESTINATION share/${PROJECT_NAME}
45+
)
3346

3447
install(TARGETS
3548
move_action_node
3649
charge_action_node
3750
ask_charge_action_node
3851
check_obstacles_node
39-
ARCHIVE DESTINATION lib
40-
LIBRARY DESTINATION lib
4152
RUNTIME DESTINATION lib/${PROJECT_NAME}
4253
)
4354

@@ -48,6 +59,11 @@ if(BUILD_TESTING)
4859
find_package(ament_cmake_gtest REQUIRED)
4960
endif()
5061

51-
ament_export_dependencies(${dependencies})
62+
ament_export_dependencies(
63+
rclcpp
64+
rclcpp_action
65+
rclcpp_cascade_lifecycle
66+
plansys2_executor
67+
)
5268

5369
ament_package()

plansys2_cascade_example/package.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212

1313
<buildtool_depend>ament_cmake</buildtool_depend>
1414

15+
<depend>plansys2_executor</depend>
1516
<depend>rclcpp</depend>
1617
<depend>rclcpp_action</depend>
17-
<depend>plansys2_msgs</depend>
18-
<depend>plansys2_executor</depend>
18+
<depend>rclcpp_cascade_lifecycle</depend>
1919

2020
<exec_depend>plansys2_bringup</exec_depend>
2121
<exec_depend>plansys2_terminal</exec_depend>

plansys2_multidomain_example/CMakeLists.txt

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,51 @@ project(plansys2_multidomain_example)
33
cmake_minimum_required(VERSION 3.5)
44

55
find_package(ament_cmake REQUIRED)
6+
find_package(plansys2_executor REQUIRED)
67
find_package(rclcpp REQUIRED)
78
find_package(rclcpp_action REQUIRED)
8-
find_package(plansys2_msgs REQUIRED)
9-
find_package(plansys2_executor REQUIRED)
109

1110
set(CMAKE_CXX_STANDARD 17)
1211

13-
set(dependencies
14-
rclcpp
15-
rclcpp_action
16-
plansys2_msgs
17-
plansys2_executor
18-
)
19-
2012
add_executable(move_action_node src/move_action_node.cpp)
21-
ament_target_dependencies(move_action_node ${dependencies})
13+
target_link_libraries(move_action_node
14+
PRIVATE
15+
plansys2_executor::plansys2_executor
16+
rclcpp::rclcpp
17+
rclcpp_action::rclcpp_action
18+
)
2219

2320
add_executable(charge_action_node src/charge_action_node.cpp)
24-
ament_target_dependencies(charge_action_node ${dependencies})
21+
target_link_libraries(charge_action_node
22+
PRIVATE
23+
plansys2_executor::plansys2_executor
24+
rclcpp::rclcpp
25+
rclcpp_action::rclcpp_action
26+
)
2527

2628
add_executable(ask_charge_action_node src/ask_charge_action_node.cpp)
27-
ament_target_dependencies(ask_charge_action_node ${dependencies})
29+
target_link_libraries(ask_charge_action_node
30+
PRIVATE
31+
plansys2_executor::plansys2_executor
32+
rclcpp::rclcpp
33+
rclcpp_action::rclcpp_action
34+
)
2835

2936
add_executable(pick_object_action_node src/pick_object_action_node.cpp)
30-
ament_target_dependencies(pick_object_action_node ${dependencies})
37+
target_link_libraries(pick_object_action_node
38+
PRIVATE
39+
plansys2_executor::plansys2_executor
40+
rclcpp::rclcpp
41+
rclcpp_action::rclcpp_action
42+
)
3143

3244
add_executable(place_object_action_node src/place_object_action_node.cpp)
33-
ament_target_dependencies(place_object_action_node ${dependencies})
45+
target_link_libraries(place_object_action_node
46+
PRIVATE
47+
plansys2_executor::plansys2_executor
48+
rclcpp::rclcpp
49+
rclcpp_action::rclcpp_action
50+
)
3451

3552
install(DIRECTORY launch pddl_1 pddl_2 DESTINATION share/${PROJECT_NAME})
3653

@@ -40,8 +57,6 @@ install(TARGETS
4057
ask_charge_action_node
4158
pick_object_action_node
4259
place_object_action_node
43-
ARCHIVE DESTINATION lib
44-
LIBRARY DESTINATION lib
4560
RUNTIME DESTINATION lib/${PROJECT_NAME}
4661
)
4762

@@ -52,6 +67,10 @@ if(BUILD_TESTING)
5267
find_package(ament_cmake_gtest REQUIRED)
5368
endif()
5469

55-
ament_export_dependencies(${dependencies})
70+
ament_export_dependencies(
71+
plansys2_executor
72+
rclcpp
73+
rclcpp_action
74+
)
5675

5776
ament_package()

plansys2_multidomain_example/package.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@
1212

1313
<buildtool_depend>ament_cmake</buildtool_depend>
1414

15+
<depend>plansys2_executor</depend>
1516
<depend>rclcpp</depend>
1617
<depend>rclcpp_action</depend>
17-
<depend>plansys2_msgs</depend>
18-
<depend>plansys2_executor</depend>
1918

2019
<exec_depend>plansys2_bringup</exec_depend>
2120
<exec_depend>plansys2_terminal</exec_depend>

0 commit comments

Comments
 (0)