@@ -248,10 +248,6 @@ set(GENERATED_DIR ${CMAKE_CURRENT_BINARY_DIR}/gen)
248
248
set (TREENODES_FILE nav2_tree_nodes.xml)
249
249
configure_file (plugins_list.hpp.in ${GENERATED_DIR} /plugins_list.hpp)
250
250
251
- # create a text file listing plugin names, one per line
252
- string (REPLACE ";" "\n " plugin_libs_one_per_line "${plugin_libs} " )
253
- configure_file (plugins_list.txt.in ${GENERATED_DIR} /plugins_list.txt)
254
-
255
251
add_executable (generate_nav2_tree_nodes_xml src/generate_nav2_tree_nodes_xml.cpp)
256
252
target_link_libraries (generate_nav2_tree_nodes_xml PRIVATE
257
253
behaviortree_cpp::behaviortree_cpp
@@ -261,10 +257,17 @@ target_link_libraries(generate_nav2_tree_nodes_xml PRIVATE
261
257
target_include_directories (generate_nav2_tree_nodes_xml PRIVATE ${GENERATED_DIR} )
262
258
263
259
add_executable (generate_tree_nodes_xml_cli src/generate_tree_nodes_xml_cli.cpp)
260
+ add_executable (nav2_behavior_tree::generate_tree_nodes_xml_cli ALIAS generate_tree_nodes_xml_cli)
264
261
target_link_libraries (generate_tree_nodes_xml_cli PRIVATE
265
262
behaviortree_cpp::behaviortree_cpp
266
263
nav2_util::nav2_util_core
267
264
)
265
+
266
+ include (cmake/generate_tree_nodes_xml.cmake)
267
+ nav2_generate_tree_nodes_xml(
268
+ PLUGIN_LIBS ${plugin_libs}
269
+ )
270
+
268
271
install (TARGETS generate_nav2_tree_nodes_xml generate_tree_nodes_xml_cli
269
272
EXPORT ${library_name}
270
273
DESTINATION lib/${PROJECT_NAME} )
@@ -277,35 +280,13 @@ install(DIRECTORY test/utils/
277
280
DESTINATION include /${PROJECT_NAME} /nav2_behavior_tree/test /utils
278
281
)
279
282
280
- add_custom_command (
281
- OUTPUT ${GENERATED_DIR} /${TREENODES_FILE}
282
- COMMAND ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH=${CMAKE_CURRENT_BINARY_DIR} :$ENV{LD_LIBRARY_PATH}
283
- $<TARGET_FILE:generate_tree_nodes_xml_cli>
284
- ${GENERATED_DIR} /plugins_list.txt
285
- ${GENERATED_DIR} /${TREENODES_FILE}
286
- POST_BUILD
287
- DEPENDS
288
- ${plugin_libs}
289
- $<TARGET_FILE:generate_tree_nodes_xml_cli>
290
- #generate_tree_nodes_xml_cli
291
- ${GENERATED_DIR} /plugins_list.txt
292
- COMMENT "Generating groot tree nodes description file"
293
- VERBATIM
283
+ install (DIRECTORY cmake
284
+ DESTINATION share/${PROJECT_NAME}
294
285
)
295
286
296
- add_custom_target (gen_tree_nodes_xml ALL
297
- DEPENDS
298
- generate_tree_nodes_xml_cli
299
- ${GENERATED_DIR} /plugins_list.txt
300
- ${GENERATED_DIR} /${TREENODES_FILE}
301
- )
302
-
303
- #NOTE: Still using manually managed ${TREENODES_FILE} in source directory
304
- #install(FILES ${GENERATED_DIR}/${TREENODES_FILE} DESTINATION share/${PROJECT_NAME})
305
- install (FILES ${TREENODES_FILE} DESTINATION share/${PROJECT_NAME} )
306
-
287
+ #NOTE: Still using manually managed nav2_tree_nodes.xml in source directory
288
+ install (FILES nav2_tree_nodes.xml DESTINATION share/${PROJECT_NAME} )
307
289
install (FILES ${GENERATED_DIR} /plugins_list.hpp DESTINATION include /${PROJECT_NAME} /${PROJECT_NAME} )
308
- install (FILES ${GENERATED_DIR} /plugins_list.txt DESTINATION share/${PROJECT_NAME} )
309
290
310
291
if (BUILD_TESTING)
311
292
find_package (ament_lint_auto REQUIRED)
@@ -342,4 +323,6 @@ ament_export_dependencies(
342
323
)
343
324
ament_export_targets(${library_name} )
344
325
345
- ament_package()
326
+ ament_package(
327
+ CONFIG_EXTRAS "nav2_behavior_tree-extras.cmake"
328
+ )
0 commit comments