@@ -26,32 +26,25 @@ message(STATUS "Using Micro XRCE-DDS middleware")
2626set (MIDDLEWARE "microxrcedds" )
2727endif ()
2828
29- # message(FATAL_ERROR "Failed to get cmake properties")
30-
31- externalproject_add (libmicroros_project
32- PREFIX ${CMAKE_BINARY_DIR} /libmicroros-prefix
33- SOURCE_DIR ${COMPONENT_DIR}
34- BINARY_DIR ${COMPONENT_DIR}
35- CONFIGURE_COMMAND ""
36- BUILD_COMMAND
29+ execute_process (
30+ WORKING_DIRECTORY ${COMPONENT_DIR}
31+ COMMAND
3732 ${submake} -j -f libmicroros.mk
38- X_CC=${CMAKE_C_COMPILER}
39- X_AR=${CMAKE_AR}
40- X_STRIP=${CMAKE_STRIP}
41- X_CFLAGS=${CMAKE_C_FLAGS}
42- X_CXX=${CMAKE_CXX_COMPILER}
43- X_CXXFLAGS=${CMAKE_CXX_FLAGS}
44- MIDDLEWARE=${MIDDLEWARE}
45- BUILD_DIR=${CMAKE_BINARY_DIR}
46- IDF_PATH=${IDF_PATH}
47- IDF_TARGET=${IDF_TARGET}
48- APP_COLCON_META=${APP_COLCON_META}
49- IDF_VERSION_MAJOR=${IDF_VERSION_MAJOR}
50- IDF_VERSION_MINOR=${IDF_VERSION_MINOR}
51- EXTRA_ROS_PACKAGES=${EXTRA_ROS_PACKAGES}
52- INSTALL_COMMAND ""
53- BUILD_BYPRODUCTS ${COMPONENT_DIR} /libmicroros.a
54- )
33+ X_CC=${CMAKE_C_COMPILER}
34+ X_AR=${CMAKE_AR}
35+ X_STRIP=${CMAKE_STRIP}
36+ X_CFLAGS=${CMAKE_C_FLAGS}
37+ X_CXX=${CMAKE_CXX_COMPILER}
38+ X_CXXFLAGS=${CMAKE_CXX_FLAGS}
39+ MIDDLEWARE=${MIDDLEWARE}
40+ BUILD_DIR=${CMAKE_BINARY_DIR}
41+ IDF_PATH=${IDF_PATH}
42+ IDF_TARGET=${IDF_TARGET}
43+ APP_COLCON_META=${APP_COLCON_META}
44+ IDF_VERSION_MAJOR=${IDF_VERSION_MAJOR}
45+ IDF_VERSION_MINOR=${IDF_VERSION_MINOR}
46+ EXTRA_ROS_PACKAGES=${EXTRA_ROS_PACKAGES}
47+ )
5548
5649add_prebuilt_library (libmicroros-prebuilt ""
5750 REQUIRES lwip )
@@ -61,9 +54,12 @@ add_dependencies(libmicroros-prebuilt libmicroros_project)
6154set_target_properties (libmicroros-prebuilt PROPERTIES IMPORTED_LOCATION ${COMPONENT_DIR} /libmicroros.a )
6255target_include_directories (libmicroros-prebuilt INTERFACE ${COMPONENT_DIR} /include )
6356
64- set (INCLUDE_ROS2_PACKAGES rmw;rcl;rcl_action;rcl_lifecycle;rcl_logging_interface;rosidl_runtime_c;rosidl_typesupport_interface)
65- foreach (pkg ${INCLUDE_ROS2_PACKAGES} )
66- target_include_directories (libmicroros-prebuilt INTERFACE ${COMPONENT_DIR} /include/${pkg} )
57+ file (GLOB include_folders LIST_DIRECTORIES true CONFIGURE_DEPENDS ${COMPONENT_DIR} /include/* )
58+ foreach (include_folder ${include_folders} )
59+ if (IS_DIRECTORY ${include_folder} )
60+ get_filename_component (folder_name ${include_folder} NAME )
61+ target_include_directories (libmicroros-prebuilt INTERFACE ${COMPONENT_DIR} /include/${folder_name} )
62+ endif ()
6763endforeach ()
6864
6965add_dependencies (${COMPONENT_LIB} libmicroros-prebuilt )
0 commit comments