From 462d4858d13f1c7922a7b553c36f5089c543732c Mon Sep 17 00:00:00 2001 From: Pablo Garrido Date: Tue, 29 Mar 2022 15:48:13 +0200 Subject: [PATCH] Fix Rolling includes (#25) * Fix Rolling includes Signed-off-by: Pablo Garrido Update Signed-off-by: Pablo Garrido Update Signed-off-by: Pablo Garrido * Update Signed-off-by: Pablo Garrido --- CMakeLists.txt | 13 +++++++++++-- libmicroros.mk | 9 ++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fb12c2..6cdb5d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ externalproject_add(libmicroros_project BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} CONFIGURE_COMMAND "" BUILD_COMMAND - make -j -f ${CMAKE_CURRENT_SOURCE_DIR}/libmicroros.mk + make -f ${CMAKE_CURRENT_SOURCE_DIR}/libmicroros.mk X_CC=${CMAKE_C_COMPILER} X_AR=${CMAKE_AR} X_STRIP=${CMAKE_STRIP} @@ -47,7 +47,16 @@ target_sources(${APP_TARGET} add_dependencies(${APP_TARGET} libmicroros_project) target_include_directories(${APP_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) -set(INCLUDE_ROS2_PACKAGES rmw;rcl;rcl_action;rcl_lifecycle;rcl_logging_interface;rosidl_runtime_c;rosidl_typesupport_interface;rosidl_typesupport_introspection_c) +execute_process( + COMMAND + make -f ${CMAKE_CURRENT_SOURCE_DIR}/libmicroros.mk get_package_names + WORKING_DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR} + OUTPUT_VARIABLE + INCLUDE_ROS2_PACKAGES + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + foreach(pkg ${INCLUDE_ROS2_PACKAGES}) target_include_directories(${APP_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include/${pkg}) endforeach() diff --git a/libmicroros.mk b/libmicroros.mk index 545f36e..bb68fe4 100644 --- a/libmicroros.mk +++ b/libmicroros.mk @@ -46,8 +46,12 @@ $(EXTENSIONS_DIR)/micro_ros_dev/install: git clone -b master https://github.com/ament/ament_index src/ament_index; \ colcon build --cmake-args -DBUILD_TESTING=OFF; +get_package_names: $(EXTENSIONS_DIR)/micro_ros_src/src + @cd $(EXTENSIONS_DIR)/micro_ros_src/src; \ + colcon list | awk '{print $$1}' | awk -v d=";" '{s=(NR==1?s:s d)$$0}END{print s}' + $(EXTENSIONS_DIR)/micro_ros_src/src: - cd $(EXTENSIONS_DIR); \ + @cd $(EXTENSIONS_DIR); \ rm -rf micro_ros_src; \ mkdir micro_ros_src; cd micro_ros_src; \ git clone -b foxy https://github.com/eProsima/micro-CDR src/micro-CDR; \ @@ -69,11 +73,10 @@ $(EXTENSIONS_DIR)/micro_ros_src/src: git clone -b master https://github.com/ros2/rmw_implementation src/rmw_implementation; \ git clone -b master https://github.com/ros2/rcl_logging src/rcl_logging; \ git clone -b master https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing src/ros2_tracing; \ - git clone -b main https://github.com/micro-ROS/micro_ros_utilities; \ + git clone -b main https://github.com/micro-ROS/micro_ros_utilities src/micro_ros_utilities; \ touch src/rosidl/rosidl_typesupport_introspection_cpp/COLCON_IGNORE; \ touch src/rclc/rclc_examples/COLCON_IGNORE; \ touch src/rcl/rcl_yaml_param_parser/COLCON_IGNORE; \ - touch src/rcl_logging/rcl_logging_log4cxx/COLCON_IGNORE; \ touch src/rcl_logging/rcl_logging_spdlog/COLCON_IGNORE; \ cp -rf $(EXTENSIONS_DIR)/extra_packages src/extra_packages || :;