67 lines
1.5 KiB
CMake
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() |