cmake_minimum_required(VERSION 3.0.2) project(e_stop_relay) # 查找必要的catkin组件 find_package(catkin REQUIRED COMPONENTS roscpp serial std_msgs message_generation ) # 声明消息文件 add_message_files( FILES ) # 声明服务文件 add_service_files( FILES EStopService.srv ) # 生成消息文件 generate_messages( DEPENDENCIES std_msgs ) # 配置catkin包 catkin_package( INCLUDE_DIRS include LIBRARIES e_stop_relay CATKIN_DEPENDS roscpp serial std_msgs message_runtime ) # 包含头文件路径 include_directories( include ${catkin_INCLUDE_DIRS} ) # 编译可执行文件 add_executable(e_stop_relay_node src/e_stop_relay_node.cpp ) # 添加消息生成依赖 add_dependencies(e_stop_relay_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS} ) # 链接依赖库 target_link_libraries(e_stop_relay_node ${catkin_LIBRARIES} ) # 安装可执行文件 install(TARGETS e_stop_relay_node RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) # 安装头文件 install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE )