| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- cmake_minimum_required(VERSION 3.5)
- project(wheelchair_state_machine)
- # 默认使用 C++14
- if(NOT CMAKE_CXX_STANDARD)
- set(CMAKE_CXX_STANDARD 14)
- endif()
- # 查找 ROS2 包
- find_package(ament_cmake REQUIRED)
- find_package(rclcpp REQUIRED)
- find_package(std_msgs REQUIRED)
- find_package(sensor_msgs REQUIRED)
- find_package(geometry_msgs REQUIRED)
- find_package(visualization_msgs REQUIRED)
- find_package(tf2_geometry_msgs REQUIRED)
- find_package(Eigen3 REQUIRED)
- # 1. 主节点可执行文件
- add_executable(wheelchair_state_machine_node
- src/main.cpp
- src/battery_manager.cpp
- src/event_input.cpp
- src/workflow.cpp
- src/ipad_manager.cpp
- src/lidascan_ctrl.cpp
- src/recharge_tool.cpp
- src/report.cpp
- )
- # 设置头文件路径
- target_include_directories(wheelchair_state_machine_node PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/include
- ${Eigen3_INCLUDE_DIRS}
- )
- # 设置 ROS2 依赖
- ament_target_dependencies(wheelchair_state_machine_node
- rclcpp
- std_msgs
- sensor_msgs
- geometry_msgs
- visualization_msgs
- tf2_geometry_msgs
- )
- # 2. 测试错误发布器
- add_executable(test_error_publisher
- src/error_code_publisher.cpp
- )
- ament_target_dependencies(test_error_publisher
- rclcpp
- std_msgs
- )
- # 安装规则
- install(TARGETS
- wheelchair_state_machine_node
- test_error_publisher
- RUNTIME DESTINATION lib/${PROJECT_NAME}
- )
- install(DIRECTORY include/
- DESTINATION include/
- )
- ament_package()
|