@@ -14,6 +14,7 @@ find_package(ament_cmake REQUIRED)
14
14
find_package (ament_index_cpp REQUIRED)
15
15
find_package (geometry_msgs REQUIRED)
16
16
find_package (Qt5 REQUIRED COMPONENTS Widgets)
17
+ find_package (rcl_interfaces REQUIRED)
17
18
find_package (rclcpp REQUIRED)
18
19
find_package (rclcpp_action REQUIRED)
19
20
find_package (rosidl_default_generators REQUIRED)
@@ -32,35 +33,49 @@ rosidl_generate_interfaces(${PROJECT_NAME}
32
33
"srv/TeleportAbsolute.srv"
33
34
"srv/TeleportRelative.srv" )
34
35
35
- set (dependencies "ament_index_cpp" "geometry_msgs" "rclcpp" "rclcpp_action" "std_msgs" "std_srvs" )
36
+ qt5_wrap_cpp(turtlesim_node_MOCS include /turtlesim/turtle_frame.hpp )
36
37
37
- set (turtlesim_node_SRCS
38
+ rosidl_get_typesupport_target(cpp_typesupport_target "${PROJECT_NAME} " "rosidl_typesupport_cpp" )
39
+
40
+ add_executable (turtlesim_node
38
41
src/turtlesim.cpp
39
42
src/turtle.cpp
40
43
src/turtle_frame.cpp
44
+ ${turtlesim_node_MOCS}
41
45
)
42
- set (turtlesim_node_HDRS
43
- include /turtlesim/turtle_frame.hpp
46
+ target_link_libraries (turtlesim_node PRIVATE
47
+ ament_index_cpp::ament_index_cpp
48
+ ${cpp_typesupport_target}
49
+ ${geometry_msgs_TARGETS}
50
+ Qt5::Widgets
51
+ ${rcl_interfaces_TARGETS}
52
+ rclcpp::rclcpp
53
+ rclcpp_action::rclcpp_action
54
+ ${std_srvs_TARGETS}
44
55
)
45
56
46
- qt5_wrap_cpp(turtlesim_node_MOCS ${turtlesim_node_HDRS} )
47
-
48
- rosidl_get_typesupport_target(cpp_typesupport_target "${PROJECT_NAME} " "rosidl_typesupport_cpp" )
49
-
50
- add_executable (turtlesim_node ${turtlesim_node_SRCS} ${turtlesim_node_MOCS} )
51
- target_link_libraries (turtlesim_node Qt5::Widgets)
52
- ament_target_dependencies(turtlesim_node ${dependencies} )
53
- target_link_libraries (turtlesim_node "${cpp_typesupport_target} " )
54
-
55
57
add_executable (turtle_teleop_key tutorials/teleop_turtle_key.cpp)
56
- ament_target_dependencies(turtle_teleop_key ${dependencies} )
57
- target_link_libraries (turtle_teleop_key "${cpp_typesupport_target} " )
58
+ target_link_libraries (turtle_teleop_key PRIVATE
59
+ "${cpp_typesupport_target} "
60
+ ${geometry_msgs_TARGETS}
61
+ rclcpp::rclcpp
62
+ rclcpp_action::rclcpp_action
63
+ )
64
+
58
65
add_executable (draw_square tutorials/draw_square.cpp)
59
- ament_target_dependencies(draw_square ${dependencies} )
60
- target_link_libraries (draw_square "${cpp_typesupport_target} " )
66
+ target_link_libraries (draw_square PRIVATE
67
+ "${cpp_typesupport_target} "
68
+ ${geometry_msgs_TARGETS}
69
+ rclcpp::rclcpp
70
+ ${std_srvs_TARGETS}
71
+ )
72
+
61
73
add_executable (mimic tutorials/mimic.cpp)
62
- ament_target_dependencies(mimic ${dependencies} )
63
- target_link_libraries (mimic "${cpp_typesupport_target} " )
74
+ target_link_libraries (mimic PRIVATE
75
+ "${cpp_typesupport_target} "
76
+ ${geometry_msgs_TARGETS}
77
+ rclcpp::rclcpp
78
+ )
64
79
65
80
if (BUILD_TESTING)
66
81
find_package (ament_lint_auto REQUIRED)
0 commit comments