56 lines
1.2 KiB
CMake
56 lines
1.2 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)
|
||
|
||
# 添加 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
|
||
)
|
||
|
||
# 创建可执行文件
|
||
add_executable(transmitter_test_node src/transmitter_test_node.cpp)
|
||
|
||
# 设置 RPATH,使可执行文件能找到共享库
|
||
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
|
||
)
|
||
|
||
# 链接 SDK 库和依赖
|
||
target_link_libraries(transmitter_test_node
|
||
dm_device
|
||
usb-1.0
|
||
pthread
|
||
)
|
||
|
||
# 安装目标
|
||
install(TARGETS transmitter_test_node
|
||
DESTINATION lib/${PROJECT_NAME}
|
||
)
|
||
|
||
# 安装 launch 文件(如果有)
|
||
install(DIRECTORY launch
|
||
DESTINATION share/${PROJECT_NAME}
|
||
OPTIONAL
|
||
)
|
||
|
||
ament_package() |