@@ -14,22 +14,22 @@ endif()
14
14
15
15
# find dependencies
16
16
find_package (ament_cmake REQUIRED )
17
+ find_package (example_interfaces REQUIRED )
18
+ find_package (control_msgs REQUIRED )
17
19
find_package (controller_interface REQUIRED )
20
+ find_package (generate_parameter_library REQUIRED )
18
21
find_package (hardware_interface REQUIRED )
19
22
find_package (pluginlib REQUIRED )
20
23
find_package (rclcpp REQUIRED )
21
24
find_package (rclcpp_lifecycle REQUIRED )
22
25
find_package (realtime_tools REQUIRED )
23
- find_package (generate_parameter_library REQUIRED )
24
- find_package (control_msgs REQUIRED )
25
-
26
+ find_package (sensor_msgs REQUIRED )
26
27
27
28
generate_parameter_library (gpio_command_controller_parameters
28
29
src/gpio_command_controller_parameters.yaml
29
30
)
30
31
31
- add_library (gpio_controllers
32
- SHARED
32
+ add_library (gpio_controllers SHARED
33
33
src/gpio_command_controller.cpp
34
34
)
35
35
target_include_directories (gpio_controllers PRIVATE include )
@@ -44,9 +44,30 @@ ament_target_dependencies(gpio_controllers PUBLIC
44
44
realtime_tools
45
45
control_msgs
46
46
)
47
- # Causes the visibility macros to use dllexport rather than dllimport,
48
- # which is appropriate when building the dll but not consuming it.
49
- target_compile_definitions (gpio_controllers PRIVATE "GPIO_COMMAND_CONTROLLER_BUILDING_DLL" )
47
+
48
+ generate_parameter_library (gpio_tool_controller_parameters
49
+ src/gpio_tool_controller.yaml
50
+ )
51
+ add_library (gpio_tool_controllers SHARED
52
+ src/gpio_tool_controller.cpp
53
+ )
54
+ target_compile_features (gpio_tool_controllers PUBLIC cxx_std_20 )
55
+ target_include_directories (gpio_tool_controllers PUBLIC
56
+ "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR} /include>"
57
+ "$<INSTALL_INTERFACE:include/${PROJECT_NAME} >" )
58
+ target_link_libraries (gpio_tool_controllers PUBLIC
59
+ gpio_tool_controller_parameters
60
+ controller_interface::controller_interface
61
+ hardware_interface::hardware_interface
62
+ pluginlib::pluginlib
63
+ rclcpp::rclcpp
64
+ rclcpp_lifecycle::rclcpp_lifecycle
65
+ realtime_tools::realtime_tools
66
+ ${control_msgs_TARGETS}
67
+ ${builtin_interfaces_TARGETS}
68
+ ${example_interfaces_TARGETS}
69
+ )
70
+
50
71
pluginlib_export_plugin_description_file (controller_interface gpio_controllers_plugin.xml )
51
72
52
73
install (
@@ -57,6 +78,7 @@ install(
57
78
install (
58
79
TARGETS
59
80
gpio_controllers
81
+ gpio_tool_controllers
60
82
RUNTIME DESTINATION bin
61
83
ARCHIVE DESTINATION lib
62
84
LIBRARY DESTINATION lib
@@ -97,6 +119,21 @@ if(BUILD_TESTING)
97
119
ros2_control_test_assets
98
120
control_msgs
99
121
)
122
+
123
+ # ament_add_gmock(test_gpio_tool_controller
124
+ # test/gpio_tool_controller/test_gpio_tool_controller.cpp
125
+ # test/gpio_tool_controller/test_gpio_tool_controller_open.cpp
126
+ # test/gpio_tool_controller/test_gpio_tool_controller_close.cpp
127
+ # test/gpio_tool_controller/test_gpio_tool_controller_all_param_set.cpp
128
+ # test/gpio_tool_controller/test_gpio_tool_controller_open_close_action.cpp
129
+ # test/gpio_tool_controller/test_gpio_tool_controller_reconfigure.cpp
130
+ # test/gpio_tool_controller/test_gpio_tool_controller_reconfigure_action.cpp
131
+ # )
132
+ # target_include_directories(test_gpio_tool_controller PRIVATE include)
133
+ # target_link_libraries(test_gpio_tool_controller
134
+ # gpio_tool_controller
135
+ # ros2_control_test_assets::ros2_control_test_assets
136
+ # )
100
137
endif ()
101
138
102
139
ament_export_dependencies (
@@ -111,5 +148,6 @@ ament_export_include_directories(
111
148
)
112
149
ament_export_libraries (
113
150
gpio_controllers
151
+ gpio_tool_controllers
114
152
)
115
153
ament_package ()
0 commit comments