cmake_minimum_required(VERSION 3.8) project(radio_ctrl) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() # find dependencies find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(sweeper_interfaces REQUIRED) find_package(std_msgs REQUIRED) find_package(ament_index_cpp REQUIRED) add_executable(radio_ctrl_node src/radio_ctrl.cpp src/uart_handler.cpp) target_include_directories( radio_ctrl_node PUBLIC $) ament_target_dependencies(radio_ctrl_node ament_index_cpp rclcpp std_msgs sweeper_interfaces) install(TARGETS radio_ctrl_node DESTINATION lib/${PROJECT_NAME}) # 安装配置文件目录 install(DIRECTORY config DESTINATION share/${PROJECT_NAME}) # 安装头文件到正确路径 install( DIRECTORY include/ DESTINATION include ) # 导出头文件路径,使其他包能发现 ament_export_include_directories(include) if(BUILD_TESTING) find_package(ament_lint_auto REQUIRED) # the following line skips the linter which checks for copyrights comment the # line when a copyright and license is added to all source files set(ament_cmake_copyright_FOUND TRUE) # the following line skips cpplint (only works in a git repo) comment the line # when this package is in a git repo and when a copyright and license is added # to all source files set(ament_cmake_cpplint_FOUND TRUE) ament_lint_auto_find_test_dependencies() endif() ament_package()