@@ -15,12 +15,12 @@ find_package(ament_cmake REQUIRED)
1515find_package (diagnostic_msgs REQUIRED )
1616find_package (pluginlib REQUIRED )
1717find_package (rclcpp REQUIRED )
18+ find_package (rclcpp_components REQUIRED )
1819find_package (rcl_interfaces REQUIRED )
1920find_package (std_msgs REQUIRED )
2021
2122add_library (${PROJECT_NAME } SHARED
2223 src/status_item.cpp
23- src/analyzer_group.cpp
2424 src/aggregator.cpp )
2525target_include_directories (${PROJECT_NAME } PUBLIC
2626 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
@@ -30,6 +30,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC
3030 ${std_msgs_TARGETS}
3131 pluginlib::pluginlib
3232 rclcpp::rclcpp
33+ rclcpp_components::component
3334)
3435target_compile_definitions (${PROJECT_NAME }
3536 PRIVATE "DIAGNOSTIC_AGGREGATOR_BUILDING_DLL" )
@@ -46,7 +47,8 @@ set(ANALYZERS "${PROJECT_NAME}_analyzers")
4647add_library (${ANALYZERS} SHARED
4748 src/generic_analyzer.cpp
4849 src/discard_analyzer.cpp
49- src/ignore_analyzer.cpp )
50+ src/ignore_analyzer.cpp
51+ src/analyzer_group.cpp )
5052target_include_directories (${ANALYZERS} PUBLIC
5153 $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR } /include >
5254 $<INSTALL_INTERFACE :include >)
@@ -60,13 +62,20 @@ target_link_libraries(${ANALYZERS} PUBLIC
6062target_compile_definitions (${ANALYZERS}
6163 PRIVATE "DIAGNOSTIC_AGGREGATOR_BUILDING_DLL" )
6264
65+ # Register the aggregator node as a component
66+ rclcpp_components_register_node (
67+ ${PROJECT_NAME }
68+ PLUGIN "diagnostic_aggregator::Aggregator"
69+ EXECUTABLE aggregator_node
70+ )
71+
6372# prevent pluginlib from using boost
6473target_compile_definitions (${ANALYZERS} PUBLIC "PLUGINLIB__DISABLE_BOOST_FUNCTIONS" )
6574
66- # Aggregator node
67- add_executable (aggregator_node src/aggregator_node.cpp )
68- target_link_libraries (aggregator_node
69- ${PROJECT_NAME } )
75+ # # Aggregator node
76+ # add_executable(aggregator_node src/aggregator_node.cpp)
77+ # target_link_libraries(aggregator_node
78+ # ${PROJECT_NAME})
7079
7180# Add analyzer
7281add_executable (add_analyzer src/add_analyzer.cpp )
@@ -165,10 +174,10 @@ if(BUILD_TESTING)
165174 # )
166175endif ()
167176
168- install (
169- TARGETS aggregator_node
170- DESTINATION lib/${PROJECT_NAME }
171- )
177+ # install(
178+ # TARGETS aggregator_node
179+ # DESTINATION lib/${PROJECT_NAME}
180+ # )
172181
173182install (
174183 TARGETS add_analyzer
@@ -194,8 +203,11 @@ ament_python_install_package(${PROJECT_NAME})
194203set (ANALYZER_PARAMS_FILEPATH "${CMAKE_INSTALL_PREFIX } /share/${PROJECT_NAME } /example_analyzers.yaml" )
195204set (ADD_ANALYZER_PARAMS_FILEPATH "${CMAKE_INSTALL_PREFIX } /share/${PROJECT_NAME } /example_add_analyzers.yaml" )
196205configure_file (example/example.launch.py.in example.launch.py @ONLY )
206+ configure_file (example/compose_example.launch.py.in compose_example.launch.py @ONLY )
197207install ( # launch descriptor
198- FILES ${CMAKE_CURRENT_BINARY_DIR } /example.launch.py
208+ FILES
209+ ${CMAKE_CURRENT_BINARY_DIR } /example.launch.py
210+ ${CMAKE_CURRENT_BINARY_DIR } /compose_example.launch.py
199211 DESTINATION share/${PROJECT_NAME }
200212)
201213install ( # example publisher
0 commit comments