69 lines
1.2 KiB
CMake
69 lines
1.2 KiB
CMake
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
|
|
)
|