| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- cmake_minimum_required(VERSION 3.16)
- project(wheelchair_state_machine)
- # 默认使用C++17
- set(CMAKE_CXX_STANDARD 17)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- # 查找依赖包
- find_package(ament_cmake REQUIRED)
- find_package(rclcpp REQUIRED)
- find_package(std_msgs REQUIRED)
- find_package(geometry_msgs REQUIRED)
- find_package(sensor_msgs REQUIRED)
- find_package(visualization_msgs REQUIRED)
- find_package(tf2 REQUIRED)
- find_package(tf2_geometry_msgs REQUIRED)
- find_package(Eigen3 REQUIRED)
- find_package(interface REQUIRED)
- # 创建可执行文件
- add_executable(wheelchair_state_machine
- src/wheelchair_state_machine.cpp
- src/main.cpp
- )
- # 使用 ament_target_dependencies 自动处理ROS2依赖
- ament_target_dependencies(wheelchair_state_machine
- rclcpp
- std_msgs
- geometry_msgs
- sensor_msgs
- visualization_msgs
- tf2
- tf2_geometry_msgs
- interface # 关键:这里添加interface依赖
- )
- # 链接Eigen3库(不是ROS2包,需要单独处理)
- target_include_directories(wheelchair_state_machine PRIVATE
- ${Eigen3_INCLUDE_DIRS}
- )
- target_link_libraries(wheelchair_state_machine
- Eigen3::Eigen
- )
- # 添加自定义头文件目录
- target_include_directories(wheelchair_state_machine PRIVATE
- include
- )
- # 安装可执行文件
- install(TARGETS wheelchair_state_machine
- RUNTIME DESTINATION lib/${PROJECT_NAME}
- )
- # 安装头文件(如果有需要)
- install(DIRECTORY include/
- DESTINATION include/${PROJECT_NAME}
- )
- ament_package()
|