66 lines
1.3 KiB
CMake
66 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.0.2)
|
||
project(rc_receiver)
|
||
|
||
# 查找必要的catkin组件
|
||
find_package(catkin REQUIRED COMPONENTS
|
||
roscpp
|
||
serial
|
||
std_msgs
|
||
sensor_msgs
|
||
message_generation
|
||
)
|
||
|
||
# 声明消息文件(位于msg/rc.msg)
|
||
add_message_files(
|
||
FILES
|
||
rc.msg
|
||
)
|
||
|
||
# 生成消息文件,依赖std_msgs
|
||
generate_messages(
|
||
DEPENDENCIES
|
||
std_msgs
|
||
)
|
||
|
||
# 配置catkin包
|
||
catkin_package(
|
||
INCLUDE_DIRS include
|
||
LIBRARIES rc_receiver
|
||
CATKIN_DEPENDS roscpp serial std_msgs message_runtime sensor_msgs
|
||
DEPENDS system_lib
|
||
)
|
||
|
||
# 包含头文件路径
|
||
include_directories(
|
||
include
|
||
${catkin_INCLUDE_DIRS}
|
||
)
|
||
|
||
# 编译可执行文件
|
||
add_executable(rc_receiver_node
|
||
src/rc_receiver_node.cpp
|
||
)
|
||
|
||
# 添加消息生成依赖,确保先生成消息再编译可执行文件
|
||
add_dependencies(rc_receiver_node
|
||
${${PROJECT_NAME}_EXPORTED_TARGETS}
|
||
${catkin_EXPORTED_TARGETS}
|
||
)
|
||
|
||
# 链接依赖库
|
||
target_link_libraries(rc_receiver_node
|
||
${catkin_LIBRARIES}
|
||
)
|
||
|
||
# 安装可执行文件
|
||
install(TARGETS rc_receiver_node
|
||
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
||
)
|
||
|
||
# 安装头文件
|
||
install(DIRECTORY include/${PROJECT_NAME}/
|
||
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
|
||
FILES_MATCHING PATTERN "*.h"
|
||
PATTERN ".svn" EXCLUDE
|
||
)
|