@@ -26,6 +26,7 @@ find_package(geometry_msgs REQUIRED)
2626find_package (hardware_interface REQUIRED)
2727find_package (pluginlib REQUIRED)
2828find_package (rclcpp REQUIRED)
29+ find_package (rclcpp_action REQUIRED)
2930find_package (rclcpp_lifecycle REQUIRED)
3031find_package (rclpy REQUIRED)
3132find_package (std_msgs REQUIRED)
@@ -37,45 +38,47 @@ find_package(ur_msgs REQUIRED)
3738
3839include_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-
5641add_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)
6762target_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- )
7767pluginlib_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
110128add_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
115137install (
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
121147install (
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)
125154install (
126155 DIRECTORY include /
127- DESTINATION include
156+ DESTINATION include / ${PROJECT_NAME}
128157)
129158
130159## EXPORTS
131160ament_export_include_directories(
132161 include
133162)
134163ament_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
138170install (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