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 )