Skip to content

Commit 1977e03

Browse files
authored
Replace ament_target_dependencies calls (#1373)
ament_target_dependencies has become deprecated with ROS Kilted and raises an error for ROS Rolling. This replaces the deprecated calls by modern CMake target_link_libraries calls instead.
1 parent b8954f4 commit 1977e03

File tree

4 files changed

+108
-55
lines changed

4 files changed

+108
-55
lines changed

ur_calibration/CMakeLists.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ endif()
1515
find_package(ament_cmake REQUIRED)
1616
find_package(rclcpp REQUIRED)
1717
find_package(ur_robot_driver REQUIRED)
18+
find_package(sensor_msgs REQUIRED)
19+
find_package(tf2_ros REQUIRED)
1820

1921
find_package(Eigen3 REQUIRED)
2022
find_package(yaml_cpp_vendor REQUIRED)
@@ -31,14 +33,13 @@ add_library(calibration
3133
target_include_directories(calibration
3234
PUBLIC
3335
include
34-
${EIGEN3_INCLUDE_DIRS}
3536
)
3637
target_link_libraries(calibration
38+
ur_client_library::urcl
39+
Eigen3::Eigen
3740
yaml-cpp
38-
)
39-
ament_target_dependencies(calibration
40-
rclcpp
41-
ur_robot_driver
41+
rclcpp::rclcpp
42+
ur_robot_driver::ur_robot_driver_log_handler
4243
)
4344

4445
add_executable(calibration_correction
@@ -49,9 +50,8 @@ target_include_directories(calibration_correction
4950
include
5051
)
5152
target_link_libraries(calibration_correction
52-
ur_client_library::urcl
53-
)
54-
target_link_libraries(calibration_correction
53+
${sensor_msgs_TARGETS}
54+
tf2_ros::tf2_ros
5555
calibration
5656
)
5757

ur_calibration/src/calibration_correction.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656

5757
#include "ur_robot_driver/urcl_log_handler.hpp"
5858

59-
#include "ament_index_cpp/get_package_share_directory.hpp"
6059
#include "rclcpp/exceptions/exceptions.hpp"
6160
#include "sensor_msgs/msg/joint_state.hpp"
6261
#include "tf2_ros/transform_listener.h"

ur_controllers/CMakeLists.txt

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,24 @@ target_link_libraries(${PROJECT_NAME}
113113
freedrive_mode_controller_parameters
114114
passthrough_trajectory_controller_parameters
115115
ur_configuration_controller_parameters
116-
)
117-
118-
ament_target_dependencies(${PROJECT_NAME}
119-
${THIS_PACKAGE_INCLUDE_DEPENDS}
116+
${geometry_msgs_TARGETS}
117+
${lifecycle_msgs_TARGETS}
118+
${std_msgs_TARGETS}
119+
${std_srvs_TARGETS}
120+
${tf2_geometry_msgs_TARGETS}
121+
${ur_dashboard_msgs_TARGETS}
122+
${control_msgs_TARGETS}
123+
${trajectory_msgs_TARGETS}
124+
${ur_msgs_TARGETS}
125+
${action_msgs_TARGETS}
126+
angles::angles
127+
controller_interface::controller_interface
128+
joint_trajectory_controller::joint_trajectory_controller
129+
pluginlib::pluginlib
130+
rclcpp_lifecycle::rclcpp_lifecycle
131+
rcutils::rcutils
132+
realtime_tools::realtime_tools
133+
tf2_ros::tf2_ros
120134
)
121135

122136
target_compile_options(${PROJECT_NAME} PRIVATE -Wpedantic -Werror)
@@ -163,20 +177,16 @@ if(BUILD_TESTING)
163177
)
164178
target_link_libraries(test_load_force_mode_controller
165179
${PROJECT_NAME}
166-
)
167-
ament_target_dependencies(test_load_force_mode_controller
168-
controller_manager
169-
ros2_control_test_assets
180+
controller_manager::controller_manager
181+
ros2_control_test_assets::ros2_control_test_assets
170182
)
171183
ament_add_gmock(test_load_freedrive_mode_controller
172184
test/test_load_freedrive_mode_controller.cpp
173185
)
174186
target_link_libraries(test_load_freedrive_mode_controller
175187
${PROJECT_NAME}
176-
)
177-
ament_target_dependencies(test_load_freedrive_mode_controller
178-
controller_manager
179-
ros2_control_test_assets
188+
controller_manager::controller_manager
189+
ros2_control_test_assets::ros2_control_test_assets
180190
)
181191
endif()
182192

ur_robot_driver/CMakeLists.txt

Lines changed: 78 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ find_package(geometry_msgs REQUIRED)
2626
find_package(hardware_interface REQUIRED)
2727
find_package(pluginlib REQUIRED)
2828
find_package(rclcpp REQUIRED)
29+
find_package(rclcpp_action REQUIRED)
2930
find_package(rclcpp_lifecycle REQUIRED)
3031
find_package(rclpy REQUIRED)
3132
find_package(std_msgs REQUIRED)
@@ -37,45 +38,47 @@ find_package(ur_msgs REQUIRED)
3738

3839
include_directories(include)
3940

40-
set(THIS_PACKAGE_INCLUDE_DEPENDS
41-
controller_manager
42-
controller_manager_msgs
43-
geometry_msgs
44-
hardware_interface
45-
pluginlib
46-
rclcpp
47-
rclcpp_lifecycle
48-
std_msgs
49-
std_srvs
50-
tf2_geometry_msgs
51-
ur_client_library
52-
ur_dashboard_msgs
53-
ur_msgs
54-
)
55-
5641
add_library(ur_robot_driver_plugin
5742
SHARED
5843
src/dashboard_client_ros.cpp
5944
src/hardware_interface.cpp
6045
src/urcl_log_handler.cpp
61-
src/robot_state_helper.cpp
6246
)
63-
target_link_libraries(
64-
ur_robot_driver_plugin
47+
target_link_libraries(ur_robot_driver_plugin PUBLIC
48+
${controller_manager_msgs_TARGETS}
49+
${geometry_msgs_TARGETS}
50+
${std_msgs_TARGETS}
51+
${std_srvs_TARGETS}
52+
${tf2_geometry_msgs_TARGETS}
53+
${ur_dashboard_msgs_TARGETS}
54+
${ur_msgs_TARGETS}
55+
controller_manager::controller_manager
56+
hardware_interface::hardware_interface
57+
pluginlib::pluginlib
58+
rclcpp::rclcpp
59+
rclcpp_lifecycle::rclcpp_lifecycle
6560
ur_client_library::urcl
6661
)
6762
target_include_directories(
6863
ur_robot_driver_plugin
6964
PRIVATE
7065
include
7166
)
72-
ament_target_dependencies(
73-
ur_robot_driver_plugin
74-
${${PROJECT_NAME}_EXPORTED_TARGETS}
75-
${THIS_PACKAGE_INCLUDE_DEPENDS}
76-
)
7767
pluginlib_export_plugin_description_file(hardware_interface hardware_interface_plugin.xml)
7868

69+
add_library(ur_robot_driver_log_handler
70+
SHARED
71+
src/urcl_log_handler.cpp
72+
)
73+
target_include_directories(ur_robot_driver_log_handler
74+
PUBLIC
75+
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
76+
"$<INSTALL_INTERFACE:include/${PROJECT_NAME}>")
77+
target_link_libraries(ur_robot_driver_log_handler PUBLIC
78+
rclcpp::rclcpp
79+
ur_client_library::urcl
80+
)
81+
7982
#
8083
# dashboard_client
8184
#
@@ -84,8 +87,12 @@ add_executable(dashboard_client
8487
src/dashboard_client_node.cpp
8588
src/urcl_log_handler.cpp
8689
)
87-
target_link_libraries(dashboard_client ur_client_library::urcl)
88-
ament_target_dependencies(dashboard_client ${${PROJECT_NAME}_EXPORTED_TARGETS} ${THIS_PACKAGE_INCLUDE_DEPENDS})
90+
target_link_libraries(dashboard_client PRIVATE
91+
${std_srvs_TARGETS}
92+
${ur_dashboard_msgs_TARGETS}
93+
rclcpp::rclcpp
94+
ur_client_library::urcl
95+
)
8996

9097
#
9198
# controller_stopper_node
@@ -94,7 +101,12 @@ add_executable(controller_stopper_node
94101
src/controller_stopper.cpp
95102
src/controller_stopper_node.cpp
96103
)
97-
ament_target_dependencies(controller_stopper_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${THIS_PACKAGE_INCLUDE_DEPENDS})
104+
target_link_libraries(controller_stopper_node PRIVATE
105+
${std_msgs_TARGETS}
106+
${controller_manager_msgs_TARGETS}
107+
rclcpp::rclcpp
108+
ur_client_library::urcl
109+
)
98110

99111
#
100112
# robot_state_helper
@@ -104,36 +116,56 @@ add_executable(robot_state_helper
104116
src/robot_state_helper_node.cpp
105117
src/urcl_log_handler.cpp
106118
)
107-
target_link_libraries(robot_state_helper ur_client_library::urcl)
108-
ament_target_dependencies(robot_state_helper ${${PROJECT_NAME}_EXPORTED_TARGETS} ${THIS_PACKAGE_INCLUDE_DEPENDS})
119+
target_link_libraries(robot_state_helper PUBLIC
120+
${std_msgs_TARGETS}
121+
${std_srvs_TARGETS}
122+
${ur_dashboard_msgs_TARGETS}
123+
rclcpp::rclcpp
124+
rclcpp_action::rclcpp_action
125+
ur_client_library::urcl
126+
)
109127

110128
add_executable(urscript_interface
111129
src/urscript_interface.cpp
112130
)
113-
ament_target_dependencies(urscript_interface ${${PROJECT_NAME}_EXPORTED_TARGETS} ${THIS_PACKAGE_INCLUDE_DEPENDS})
131+
target_link_libraries(urscript_interface PUBLIC
132+
rclcpp::rclcpp
133+
${std_msgs_TARGETS}
134+
ur_client_library::urcl
135+
)
114136

115137
install(
116-
TARGETS dashboard_client controller_stopper_node urscript_interface robot_state_helper
138+
TARGETS
139+
dashboard_client
140+
controller_stopper_node
141+
urscript_interface
142+
robot_state_helper
117143
DESTINATION lib/${PROJECT_NAME}
118144
)
119145

120146
# INSTALL
121147
install(
122-
TARGETS ur_robot_driver_plugin
148+
TARGETS
149+
ur_robot_driver_log_handler
150+
ur_robot_driver_plugin
151+
EXPORT export_${PROJECT_NAME}
123152
DESTINATION lib
124153
)
125154
install(
126155
DIRECTORY include/
127-
DESTINATION include
156+
DESTINATION include/${PROJECT_NAME}
128157
)
129158

130159
## EXPORTS
131160
ament_export_include_directories(
132161
include
133162
)
134163
ament_export_libraries(
164+
ur_robot_driver_log_handler
135165
ur_robot_driver_plugin
136166
)
167+
# Export modern CMake targets
168+
ament_export_targets(export_${PROJECT_NAME})
137169

138170
install(DIRECTORY resources
139171
DESTINATION share/${PROJECT_NAME}
@@ -150,7 +182,19 @@ ament_export_dependencies(
150182
pluginlib
151183
rclcpp
152184
rclcpp_lifecycle
153-
${THIS_PACKAGE_INCLUDE_DEPENDS}
185+
controller_manager
186+
controller_manager_msgs
187+
geometry_msgs
188+
hardware_interface
189+
pluginlib
190+
rclcpp
191+
rclcpp_lifecycle
192+
std_msgs
193+
std_srvs
194+
tf2_geometry_msgs
195+
ur_client_library
196+
ur_dashboard_msgs
197+
ur_msgs
154198
)
155199

156200
# Install Python execs

0 commit comments

Comments
 (0)