update hieplm

This commit is contained in:
2026-01-05 13:38:02 +07:00
parent a471130273
commit 9b27b9d731
8 changed files with 203 additions and 39 deletions

View File

@@ -1,41 +1,64 @@
cmake_minimum_required(VERSION 3.10)
# Tên dự án
project(move_base_core VERSION 1.0.0 LANGUAGES CXX)
# Chuẩn C++
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Cho phép các project khác include được header của move_base_core
set(MOVE_BASE_CORE_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/include
PARENT_SCOPE
)
# ========================================================
# Catkin specific configuration
# ========================================================
if(DEFINED CATKIN_DEVEL_PREFIX OR DEFINED CATKIN_TOPLEVEL)
set(BUILDING_WITH_CATKIN TRUE)
message(STATUS "Building move_base_core with Catkin")
else()
set(BUILDING_WITH_CATKIN FALSE)
message(STATUS "Building move_base_core with Standalone CMake")
endif()
include_directories(
${PROJECT_SOURCE_DIR}/include
)
if(BUILDING_WITH_CATKIN)
find_package(catkin REQUIRED COMPONENTS tf3 robot_time robot_geometry_msgs robot_protocol_msgs robot_nav_2d_msgs)
catkin_package(
INCLUDE_DIRS include
LIBRARIES move_base_core
CATKIN_DEPENDS tf3 robot_time robot_geometry_msgs robot_protocol_msgs robot_nav_2d_msgs
# CATKIN_DEPENDS không cần vì dependencies không phải Catkin packages
)
endif()
# Tìm tất cả header files
file(GLOB HEADERS "include/move_base_core/*.h")
# Tạo INTERFACE library (header-only)
add_library(move_base_core INTERFACE)
target_link_libraries(move_base_core
INTERFACE tf3 robot_time robot_geometry_msgs robot_protocol_msgs)
# Set include directories
# Set include directories trước khi link libraries
target_include_directories(move_base_core
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# Link với dependencies - include directories sẽ được truyền tự động qua INTERFACE properties
if(BUILDING_WITH_CATKIN)
target_link_libraries(move_base_core INTERFACE ${catkin_TARGETS})
else()
target_link_libraries(move_base_core
INTERFACE
tf3
robot_time
robot_geometry_msgs
robot_protocol_msgs
robot_nav_2d_msgs # Thêm vì navigation.h include robot_nav_2d_msgs/Twist2DStamped.h
)
endif()
# Cài đặt header files
install(DIRECTORY include/move_base_core
DESTINATION include
FILES_MATCHING PATTERN "*.h")
if(NOT BUILDING_WITH_CATKIN)
install(DIRECTORY include/move_base_core
DESTINATION include
FILES_MATCHING PATTERN "*.h")
endif()
# Cài đặt target
install(TARGETS move_base_core

View File

@@ -19,8 +19,16 @@
<buildtool_depend version_gte="0.5.68">catkin</buildtool_depend>
<build_depend>libconsole-bridge-dev</build_depend>
<build_depend>tf3</build_depend>
<build_depend>robot_time</build_depend>
<build_depend>robot_geometry_msgs</build_depend>
<build_depend>robot_protocol_msgs</build_depend>
<build_depend>robot_nav_2d_msgs</build_depend>
<run_depend>libconsole-bridge-dev</run_depend>
<run_depend>tf3</run_depend>
<run_depend>robot_time</run_depend>
<run_depend>robot_geometry_msgs</run_depend>
<run_depend>robot_protocol_msgs</run_depend>
<run_depend>robot_nav_2d_msgs</run_depend>
</package>