Files
amadeus_26/CMakeLists.txt
2026-03-26 05:01:47 +08:00

61 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.8)
project(amadeus_26)
# 使用 C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 导出 compile_commands.json 给 clangd 使用
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 查找依赖
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(Eigen3 REQUIRED)
# 添加 SDK 库路径
set(TRANSMITTER_SDK_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/transmitter_sdk)
link_directories(${TRANSMITTER_SDK_PATH}/lib/linux/x64)
# 包含目录
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${TRANSMITTER_SDK_PATH}/inc
)
# ==================== UART 节点 ====================
add_executable(uart_transmitter_node src/uart_transmitter_node.cpp)
ament_target_dependencies(uart_transmitter_node
rclcpp
std_msgs
)
# ==================== IMU 节点 ====================
add_executable(imu_receiver_node src/imu_receiver_node.cpp)
ament_target_dependencies(imu_receiver_node
rclcpp
std_msgs
geometry_msgs
sensor_msgs
Eigen3
)
# ==================== 安装目标 ====================
install(TARGETS
uart_transmitter_node
imu_receiver_node
DESTINATION lib/${PROJECT_NAME}
)
# 安装 launch 文件
install(DIRECTORY launch
DESTINATION share/${PROJECT_NAME}
OPTIONAL
)
ament_package()