From 1aaeb4c59df4b1888630e26cea5c5edcdd13a46b Mon Sep 17 00:00:00 2001 From: HiepLM Date: Mon, 5 Jan 2026 17:17:37 +0700 Subject: [PATCH] update --- robot_tf3_geometry_msgs/CMakeLists.txt | 36 +++++++++++++++++++++++--- robot_tf3_sensor_msgs/CMakeLists.txt | 28 ++++++++++++++++++++ 2 files changed, 61 insertions(+), 3 deletions(-) diff --git a/robot_tf3_geometry_msgs/CMakeLists.txt b/robot_tf3_geometry_msgs/CMakeLists.txt index 0a0cfea..8211276 100755 --- a/robot_tf3_geometry_msgs/CMakeLists.txt +++ b/robot_tf3_geometry_msgs/CMakeLists.txt @@ -1,10 +1,38 @@ cmake_minimum_required(VERSION 3.10) + +# ======================================================== +# Dual-mode CMakeLists.txt: Supports both Catkin and Standalone CMake +# ======================================================== + +# Detect if building with Catkin +if(DEFINED CATKIN_DEVEL_PREFIX OR DEFINED CATKIN_TOPLEVEL) + set(BUILDING_WITH_CATKIN TRUE) + message(STATUS "Building robot_tf3_geometry_msgs with Catkin") + find_package(catkin REQUIRED) +else() + set(BUILDING_WITH_CATKIN FALSE) + message(STATUS "Building robot_tf3_geometry_msgs with Standalone CMake") +endif() + project(robot_tf3_geometry_msgs) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +# ======================================================== +# Catkin specific configuration +# ======================================================== + +if(BUILDING_WITH_CATKIN) + catkin_package( + INCLUDE_DIRS include + # LIBRARIES không cần vì đây là header-only library + # CATKIN_DEPENDS không cần vì dependencies không phải Catkin packages + DEPENDS Eigen3 Boost + ) +endif() + # Find dependencies find_package(Boost COMPONENTS thread REQUIRED) find_package(GTest REQUIRED) @@ -20,9 +48,11 @@ include_directories( ) # Install headers -install(DIRECTORY include/${PROJECT_NAME}/ - DESTINATION include/${PROJECT_NAME} -) +if(NOT BUILDING_WITH_CATKIN) + install(DIRECTORY include/${PROJECT_NAME}/ + DESTINATION include/${PROJECT_NAME} + ) +endif() add_library(robot_tf3_geometry_msgs INTERFACE ) diff --git a/robot_tf3_sensor_msgs/CMakeLists.txt b/robot_tf3_sensor_msgs/CMakeLists.txt index 86bf087..6b84993 100755 --- a/robot_tf3_sensor_msgs/CMakeLists.txt +++ b/robot_tf3_sensor_msgs/CMakeLists.txt @@ -1,10 +1,38 @@ cmake_minimum_required(VERSION 3.10) + +# ======================================================== +# Dual-mode CMakeLists.txt: Supports both Catkin and Standalone CMake +# ======================================================== + +# Detect if building with Catkin +if(DEFINED CATKIN_DEVEL_PREFIX OR DEFINED CATKIN_TOPLEVEL) + set(BUILDING_WITH_CATKIN TRUE) + message(STATUS "Building robot_tf3_sensor_msgs with Catkin") + find_package(catkin REQUIRED) +else() + set(BUILDING_WITH_CATKIN FALSE) + message(STATUS "Building robot_tf3_sensor_msgs with Standalone CMake") +endif() + project(robot_tf3_sensor_msgs) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +# ======================================================== +# Catkin specific configuration +# ======================================================== + +if(BUILDING_WITH_CATKIN) + catkin_package( + INCLUDE_DIRS include + # LIBRARIES không cần vì đây là header-only library + # CATKIN_DEPENDS không cần vì dependencies không phải Catkin packages + DEPENDS Eigen3 Boost + ) +endif() + # Find dependencies find_package(Boost COMPONENTS thread REQUIRED) find_package(GTest REQUIRED)