cmake_minimum_required(VERSION 3.8) project(amadeus_26) # 使用 C++17 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 导出 compile_commands.json 给 clangd 使用 set(CMAKE_EXPORT_COMPILE_COMMANDS 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(Eigen3 REQUIRED) # 添加 SDK 库路径 set(TRANSMITTER_SDK_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/transmitter_sdk) link_directories(${TRANSMITTER_SDK_PATH}/lib/linux/x64) # 包含目录 include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${TRANSMITTER_SDK_PATH}/inc ) # ==================== UART 节点 ==================== add_executable(uart_transmitter_node src/uart_transmitter_node.cpp) ament_target_dependencies(uart_transmitter_node rclcpp std_msgs ) # ==================== IMU 节点 ==================== add_executable(imu_receiver_node src/imu_receiver_node.cpp) ament_target_dependencies(imu_receiver_node rclcpp std_msgs geometry_msgs sensor_msgs Eigen3 ) # ==================== 安装目标 ==================== install(TARGETS uart_transmitter_node imu_receiver_node DESTINATION lib/${PROJECT_NAME} ) # 安装 launch 文件 install(DIRECTORY launch DESTINATION share/${PROJECT_NAME} OPTIONAL ) ament_package()