Skip to content

Commit 476ad91

Browse files
committed
Use THIS_PACKAGE_INCLUDE_DEPENDS list
1 parent 5de98b6 commit 476ad91

File tree

12 files changed

+204
-389
lines changed

12 files changed

+204
-389
lines changed

admittance_controller/CMakeLists.txt

Lines changed: 25 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -5,46 +5,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
55
add_compile_options(-Wall -Wextra -Wpedantic)
66
endif()
77

8-
find_package(ament_cmake REQUIRED)
9-
find_package(backward_ros REQUIRED)
10-
11-
find_package(angles REQUIRED)
12-
find_package(control_msgs REQUIRED)
13-
find_package(control_toolbox REQUIRED)
14-
find_package(controller_interface REQUIRED)
15-
find_package(Eigen3 REQUIRED)
16-
find_package(generate_parameter_library REQUIRED)
17-
find_package(geometry_msgs REQUIRED)
18-
find_package(hardware_interface REQUIRED)
19-
find_package(joint_trajectory_controller REQUIRED)
20-
find_package(kinematics_interface REQUIRED)
21-
find_package(pluginlib REQUIRED)
22-
find_package(rclcpp REQUIRED)
23-
find_package(rclcpp_lifecycle REQUIRED)
24-
find_package(realtime_tools REQUIRED)
25-
find_package(tf2 REQUIRED)
26-
find_package(tf2_eigen REQUIRED)
27-
find_package(tf2_geometry_msgs REQUIRED)
28-
find_package(tf2_kdl REQUIRED)
29-
find_package(tf2_ros REQUIRED)
30-
find_package(trajectory_msgs REQUIRED)
31-
32-
generate_parameter_library(admittance_controller_parameters
33-
src/admittance_controller_parameters.yaml
34-
)
35-
36-
add_library(admittance_controller SHARED
37-
src/admittance_controller.cpp
38-
)
39-
target_compile_features(admittance_controller PUBLIC cxx_std_17)
40-
target_include_directories(admittance_controller PUBLIC
41-
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
42-
$<INSTALL_INTERFACE:include/admittance_controller>
43-
)
44-
target_link_libraries(admittance_controller PUBLIC
45-
admittance_controller_parameters
46-
)
47-
ament_target_dependencies(admittance_controller PUBLIC
8+
set(THIS_PACKAGE_INCLUDE_DEPENDS
489
angles
4910
control_msgs
5011
control_toolbox
@@ -67,6 +28,29 @@ ament_target_dependencies(admittance_controller PUBLIC
6728
trajectory_msgs
6829
)
6930

31+
find_package(ament_cmake REQUIRED)
32+
find_package(backward_ros REQUIRED)
33+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
34+
find_package(${Dependency} REQUIRED)
35+
endforeach()
36+
37+
generate_parameter_library(admittance_controller_parameters
38+
src/admittance_controller_parameters.yaml
39+
)
40+
41+
add_library(admittance_controller SHARED
42+
src/admittance_controller.cpp
43+
)
44+
target_compile_features(admittance_controller PUBLIC cxx_std_17)
45+
target_include_directories(admittance_controller PUBLIC
46+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
47+
$<INSTALL_INTERFACE:include/admittance_controller>
48+
)
49+
target_link_libraries(admittance_controller PUBLIC
50+
admittance_controller_parameters
51+
)
52+
ament_target_dependencies(admittance_controller PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
53+
7054
# Causes the visibility macros to use dllexport rather than dllimport,
7155
# which is appropriate when building the dll but not consuming it.
7256
target_compile_definitions(admittance_controller PRIVATE "ADMITTANCE_CONTROLLER_BUILDING_DLL")
@@ -119,26 +103,5 @@ install(TARGETS admittance_controller admittance_controller_parameters
119103
)
120104

121105
ament_export_targets(export_admittance_controller HAS_LIBRARY_TARGET)
122-
ament_export_dependencies(
123-
angles
124-
control_msgs
125-
control_toolbox
126-
controller_interface
127-
Eigen3
128-
generate_parameter_library
129-
geometry_msgs
130-
hardware_interface
131-
joint_trajectory_controller
132-
kinematics_interface
133-
pluginlib
134-
rclcpp
135-
rclcpp_lifecycle
136-
realtime_tools
137-
tf2
138-
tf2_eigen
139-
tf2_geometry_msgs
140-
tf2_kdl
141-
tf2_ros
142-
trajectory_msgs
143-
)
106+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
144107
ament_package()

diff_drive_controller/CMakeLists.txt

Lines changed: 21 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,26 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
55
add_compile_options(-Wall -Wextra)
66
endif()
77

8+
set(THIS_PACKAGE_INCLUDE_DEPENDS
9+
controller_interface
10+
generate_parameter_library
11+
geometry_msgs
12+
hardware_interface
13+
nav_msgs
14+
pluginlib
15+
rclcpp
16+
rclcpp_lifecycle
17+
rcpputils
18+
realtime_tools
19+
tf2
20+
tf2_msgs
21+
)
22+
823
find_package(ament_cmake REQUIRED)
924
find_package(backward_ros REQUIRED)
10-
11-
find_package(controller_interface REQUIRED)
12-
find_package(generate_parameter_library REQUIRED)
13-
find_package(geometry_msgs REQUIRED)
14-
find_package(hardware_interface REQUIRED)
15-
find_package(nav_msgs REQUIRED)
16-
find_package(pluginlib REQUIRED)
17-
find_package(rclcpp REQUIRED)
18-
find_package(rclcpp_lifecycle REQUIRED)
19-
find_package(rcpputils REQUIRED)
20-
find_package(realtime_tools REQUIRED)
21-
find_package(tf2 REQUIRED)
22-
find_package(tf2_msgs REQUIRED)
25+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
26+
find_package(${Dependency} REQUIRED)
27+
endforeach()
2328

2429
generate_parameter_library(diff_drive_controller_parameters
2530
src/diff_drive_controller_parameter.yaml
@@ -35,22 +40,8 @@ target_include_directories(diff_drive_controller PUBLIC
3540
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
3641
$<INSTALL_INTERFACE:include/diff_drive_controller>
3742
)
38-
target_link_libraries(diff_drive_controller PUBLIC
39-
diff_drive_controller_parameters
40-
)
41-
ament_target_dependencies(diff_drive_controller PUBLIC
42-
controller_interface
43-
geometry_msgs
44-
hardware_interface
45-
nav_msgs
46-
pluginlib
47-
rclcpp
48-
rclcpp_lifecycle
49-
rcpputils
50-
realtime_tools
51-
tf2
52-
tf2_msgs
53-
)
43+
target_link_libraries(diff_drive_controller PUBLIC diff_drive_controller_parameters)
44+
ament_target_dependencies(diff_drive_controller PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
5445
# Causes the visibility macros to use dllexport rather than dllimport,
5546
# which is appropriate when building the dll but not consuming it.
5647
target_compile_definitions(diff_drive_controller PRIVATE "DIFF_DRIVE_CONTROLLER_BUILDING_DLL")
@@ -99,17 +90,5 @@ install(TARGETS diff_drive_controller diff_drive_controller_parameters
9990
)
10091

10192
ament_export_targets(export_diff_drive_controller HAS_LIBRARY_TARGET)
102-
ament_export_dependencies(
103-
controller_interface
104-
geometry_msgs
105-
hardware_interface
106-
nav_msgs
107-
pluginlib
108-
rclcpp
109-
rclcpp_lifecycle
110-
rcpputils
111-
realtime_tools
112-
tf2
113-
tf2_msgs
114-
)
93+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
11594
ament_package()

effort_controllers/CMakeLists.txt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,17 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
55
add_compile_options(-Wall -Wextra -Wpedantic)
66
endif()
77

8+
set(THIS_PACKAGE_INCLUDE_DEPENDS
9+
forward_command_controller
10+
pluginlib
11+
rclcpp
12+
)
13+
814
find_package(ament_cmake REQUIRED)
915
find_package(backward_ros REQUIRED)
10-
find_package(forward_command_controller REQUIRED)
11-
find_package(pluginlib REQUIRED)
12-
find_package(rclcpp REQUIRED)
16+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
17+
find_package(${Dependency} REQUIRED)
18+
endforeach()
1319

1420
add_library(effort_controllers SHARED
1521
src/joint_group_effort_controller.cpp
@@ -19,11 +25,7 @@ target_include_directories(effort_controllers PUBLIC
1925
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
2026
$<INSTALL_INTERFACE:include/effort_controllers>
2127
)
22-
ament_target_dependencies(effort_controllers PUBLIC
23-
forward_command_controller
24-
pluginlib
25-
rclcpp
26-
)
28+
ament_target_dependencies(effort_controllers PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
2729

2830
# Causes the visibility macros to use dllexport rather than dllimport,
2931
# which is appropriate when building the dll but not consuming it.
@@ -67,9 +69,5 @@ install(
6769
)
6870

6971
ament_export_targets(export_effort_controllers HAS_LIBRARY_TARGET)
70-
ament_export_dependencies(
71-
forward_command_controller
72-
pluginlib
73-
rclcpp
74-
)
72+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
7573
ament_package()

force_torque_sensor_broadcaster/CMakeLists.txt

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,22 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
55
add_compile_options(-Wall -Wextra -Wpedantic)
66
endif()
77

8+
set(THIS_PACKAGE_INCLUDE_DEPENDS
9+
controller_interface
10+
generate_parameter_library
11+
geometry_msgs
12+
hardware_interface
13+
pluginlib
14+
rclcpp
15+
rclcpp_lifecycle
16+
realtime_tools
17+
)
18+
819
find_package(ament_cmake REQUIRED)
920
find_package(backward_ros REQUIRED)
10-
find_package(controller_interface REQUIRED)
11-
find_package(generate_parameter_library REQUIRED)
12-
find_package(geometry_msgs REQUIRED)
13-
find_package(hardware_interface REQUIRED)
14-
find_package(pluginlib REQUIRED)
15-
find_package(rclcpp REQUIRED)
16-
find_package(rclcpp_lifecycle REQUIRED)
17-
find_package(realtime_tools REQUIRED)
21+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
22+
find_package(${Dependency} REQUIRED)
23+
endforeach()
1824

1925
generate_parameter_library(force_torque_sensor_broadcaster_parameters
2026
src/force_torque_sensor_broadcaster_parameters.yaml
@@ -31,16 +37,7 @@ target_include_directories(force_torque_sensor_broadcaster PUBLIC
3137
target_link_libraries(force_torque_sensor_broadcaster PUBLIC
3238
force_torque_sensor_broadcaster_parameters
3339
)
34-
ament_target_dependencies(force_torque_sensor_broadcaster PUBLIC
35-
controller_interface
36-
generate_parameter_library
37-
geometry_msgs
38-
hardware_interface
39-
pluginlib
40-
rclcpp
41-
rclcpp_lifecycle
42-
realtime_tools
43-
)
40+
ament_target_dependencies(force_torque_sensor_broadcaster PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
4441

4542
# Causes the visibility macros to use dllexport rather than dllimport,
4643
# which is appropriate when building the dll but not consuming it.
@@ -92,14 +89,5 @@ install(
9289
)
9390

9491
ament_export_targets(export_force_torque_sensor_broadcaster HAS_LIBRARY_TARGET)
95-
ament_export_dependencies(
96-
controller_interface
97-
generate_parameter_library
98-
geometry_msgs
99-
hardware_interface
100-
pluginlib
101-
rclcpp
102-
rclcpp_lifecycle
103-
realtime_tools
104-
)
92+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
10593
ament_package()

forward_command_controller/CMakeLists.txt

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,23 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
55
add_compile_options(-Wall -Wextra -Wpedantic)
66
endif()
77

8-
find_package(ament_cmake REQUIRED)
9-
find_package(backward_ros REQUIRED)
10-
find_package(controller_interface REQUIRED)
11-
find_package(generate_parameter_library REQUIRED)
12-
find_package(hardware_interface REQUIRED)
13-
find_package(pluginlib REQUIRED)
14-
find_package(rclcpp REQUIRED)
15-
find_package(rclcpp_lifecycle REQUIRED)
16-
find_package(realtime_tools REQUIRED)
17-
find_package(std_msgs REQUIRED)
18-
198
set(THIS_PACKAGE_INCLUDE_DEPENDS
20-
controller_interface
21-
generate_parameter_library
22-
hardware_interface
23-
pluginlib
24-
rclcpp
25-
rclcpp_lifecycle
26-
realtime_tools
27-
std_msgs
9+
controller_interface
10+
generate_parameter_library
11+
hardware_interface
12+
pluginlib
13+
rclcpp
14+
rclcpp_lifecycle
15+
realtime_tools
16+
std_msgs
2817
)
2918

19+
find_package(ament_cmake REQUIRED)
20+
find_package(backward_ros REQUIRED)
21+
foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
22+
find_package(${Dependency} REQUIRED)
23+
endforeach()
24+
3025
generate_parameter_library(
3126
forward_command_controller_parameters
3227
src/forward_command_controller_parameters.yaml
@@ -50,17 +45,7 @@ target_link_libraries(forward_command_controller PUBLIC
5045
forward_command_controller_parameters
5146
multi_interface_forward_command_controller_parameters
5247
)
53-
ament_target_dependencies(forward_command_controller PUBLIC
54-
controller_interface
55-
generate_parameter_library
56-
hardware_interface
57-
pluginlib
58-
rclcpp
59-
rclcpp_lifecycle
60-
realtime_tools
61-
std_msgs
62-
)
63-
48+
ament_target_dependencies(forward_command_controller PUBLIC ${THIS_PACKAGE_INCLUDE_DEPENDS})
6449
# Causes the visibility macros to use dllexport rather than dllimport,
6550
# which is appropriate when building the dll but not consuming it.
6651
target_compile_definitions(forward_command_controller PRIVATE "FORWARD_COMMAND_CONTROLLER_BUILDING_DLL")
@@ -128,14 +113,5 @@ install(
128113
)
129114

130115
ament_export_targets(export_forward_command_controller HAS_LIBRARY_TARGET)
131-
ament_export_dependencies(
132-
controller_interface
133-
generate_parameter_library
134-
hardware_interface
135-
pluginlib
136-
rclcpp
137-
rclcpp_lifecycle
138-
realtime_tools
139-
std_msgs
140-
)
116+
ament_export_dependencies(${THIS_PACKAGE_INCLUDE_DEPENDS})
141117
ament_package()

0 commit comments

Comments
 (0)