From a47113027384d5fa869e3580db11c8c286687b0d Mon Sep 17 00:00:00 2001 From: HiepLM Date: Mon, 5 Jan 2026 10:52:57 +0700 Subject: [PATCH] update --- CMakeLists.txt | 6 +-- src/Libraries/robot_cpp/CMakeLists.txt | 45 +++++++------------ .../robot_nav_2d_utils/CMakeLists.txt | 5 --- src/Libraries/xmlrpcpp | 2 +- 4 files changed, 20 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4515bfa..f45e38a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,9 +146,9 @@ if (NOT TARGET move_base) endif() # C API for .NET/C# integration -# if (NOT TARGET navigation_c_api) -# add_subdirectory(${CMAKE_SOURCE_DIR}/src/APIs/c_api) -# endif() +if (NOT TARGET navigation_c_api) + add_subdirectory(${CMAKE_SOURCE_DIR}/src/APIs/c_api) +endif() message(STATUS "========================================") message(STATUS "All packages configured successfully") diff --git a/src/Libraries/robot_cpp/CMakeLists.txt b/src/Libraries/robot_cpp/CMakeLists.txt index 85490ef..91e0193 100644 --- a/src/Libraries/robot_cpp/CMakeLists.txt +++ b/src/Libraries/robot_cpp/CMakeLists.txt @@ -173,6 +173,10 @@ target_include_directories(${PROJECT_NAME} target_link_libraries(${PROJECT_NAME} PUBLIC ${YAML_CPP_TARGET} + robot_xmlrpcpp + robot_time + PRIVATE + dl # Required for dladdr() function used in plugin_loader_helper.cpp ) # Check if we're using static library and warn user @@ -186,29 +190,6 @@ if(YAML_CPP_TARGET MATCHES "\\.a$" OR YAML_CPP_TARGET MATCHES "libyaml-cpp\\.a") ) endif() -# console_bridge: use library variable if available, otherwise try target -if(console_bridge_LIBRARIES) - target_link_libraries(${PROJECT_NAME} PUBLIC ${console_bridge_LIBRARIES}) -elseif(TARGET console_bridge::console_bridge) - target_link_libraries(${PROJECT_NAME} PUBLIC console_bridge::console_bridge) -else() - # Fallback: link directly - target_link_libraries(${PROJECT_NAME} PUBLIC console_bridge) -endif() - -if(BUILDING_WITH_CATKIN) - target_link_libraries(${PROJECT_NAME} - PUBLIC - ${catkin_LIBRARIES} - ) -else() - # Standalone mode: link internal dependencies - target_link_libraries(${PROJECT_NAME} - PUBLIC - robot_xmlrpcpp - robot_time - ) -endif() ## Add cmake target dependencies if(BUILDING_WITH_CATKIN) @@ -229,13 +210,14 @@ target_compile_definitions(${PROJECT_NAME} # Installation (Standalone CMake only) # ======================================================== -if(NOT BUILDING_WITH_CATKIN) - install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-targets - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin) +# Export target trong mọi trường hợp để các target khác có thể export và phụ thuộc vào nó +install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) +if(NOT BUILDING_WITH_CATKIN) install(DIRECTORY include/ DESTINATION include FILES_MATCHING PATTERN "*.h") @@ -259,6 +241,11 @@ if(NOT BUILDING_WITH_CATKIN) ${CMAKE_CURRENT_BINARY_DIR}/robot_cppConfig.cmake DESTINATION lib/cmake/${PROJECT_NAME} ) +else() + # Khi build với Catkin, vẫn cần export để các target khác có thể export + install(EXPORT ${PROJECT_NAME}-targets + # NAMESPACE robot:: + DESTINATION lib/cmake/${PROJECT_NAME}) endif() # ======================================================== diff --git a/src/Libraries/robot_nav_2d_utils/CMakeLists.txt b/src/Libraries/robot_nav_2d_utils/CMakeLists.txt index 61def94..4e90a4c 100755 --- a/src/Libraries/robot_nav_2d_utils/CMakeLists.txt +++ b/src/Libraries/robot_nav_2d_utils/CMakeLists.txt @@ -12,11 +12,6 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) # Find dependencies find_package(console_bridge REQUIRED) find_package(Boost REQUIRED COMPONENTS system thread) -find_package(robot_xmlrpcpp QUIET) -if(NOT robot_xmlrpcpp_FOUND) - # Try alternative package name - find_package(XmlRpcCpp QUIET) -endif() # Libraries add_library(conversions src/conversions.cpp) diff --git a/src/Libraries/xmlrpcpp b/src/Libraries/xmlrpcpp index bb14979..a933044 160000 --- a/src/Libraries/xmlrpcpp +++ b/src/Libraries/xmlrpcpp @@ -1 +1 @@ -Subproject commit bb14979b8a80b743a4dd41b43b5474d4c1a2fc3f +Subproject commit a93304418d9e20c841dd8bf0ea9c9755eb57601f