Files
amadeus_26/CMakeLists.txt
2026-03-23 02:50:13 +08:00

67 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.8)
project(amadeus_26)
# 使用 C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 查找依赖
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
# 查找 serial 库 (用于 UART 节点)
find_package(serial 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
)
# ==================== CAN 节点 ====================
add_executable(transmitter_test_node src/transmitter_test_node.cpp)
set_target_properties(transmitter_test_node PROPERTIES
BUILD_WITH_INSTALL_RPATH FALSE
LINK_FLAGS "-Wl,-rpath,'${TRANSMITTER_SDK_PATH}/lib/linux/x64'"
)
ament_target_dependencies(transmitter_test_node
rclcpp
std_msgs
)
target_link_libraries(transmitter_test_node
dm_device
usb-1.0
pthread
)
# ==================== UART 节点 ====================
add_executable(uart_transmitter_node src/uart_transmitter_node.cpp)
ament_target_dependencies(uart_transmitter_node
rclcpp
std_msgs
serial
)
# ==================== 安装目标 ====================
install(TARGETS
transmitter_test_node
uart_transmitter_node
DESTINATION lib/${PROJECT_NAME}
)
# 安装 launch 文件
install(DIRECTORY launch
DESTINATION share/${PROJECT_NAME}
OPTIONAL
)
ament_package()