cmake_policy规定了cmake解析行为

# 基础配置部分 ======================================================== cmake_minimum_required(VERSION 3.8) project(tunnel_mapping) # 解决PCL_ROOT策略警告 if(POLICY CMP0074) cmake_policy(SET CMP0074 NEW) endif() # 标准与编译选项 ===================================================== set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_EXTENSIONS OFF) if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic -fopenmp) # 添加OpenMP支持 endif() # ...(保持基础配置部分不变)... # 核心依赖配置 ======================================================= find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(rclcpp_components REQUIRED) find_package(sensor_msgs REQUIRED) find_package(tf2_ros REQUIRED) find_package(nav_msgs REQUIRED) find_package(Eigen3 REQUIRED) find_package(serial REQUIRED) find_package(OpenMP REQUIRED) find_package(pcl_conversions REQUIRED) find_package(PCL 1.12 REQUIRED COMPONENTS common filters registration io) set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};/usr/share/cmake/geographiclib") find_package(GeographicLib REQUIRED) find_package(geographic_msgs REQUIRED) find_package(yesense_interface REQUIRED) # 头文件包含路径 include_directories( include src ${GeographicLib_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS} ${PCL_INCLUDE_DIRS} ) # 模块化编译配置 ===================================================== # 定义核心库 add_library(params_manager src/params_manager.cpp include/tunnel_mapping/params_manager.hpp ) target_link_libraries(params_manager rclcpp::rclcpp # 使用命名空间目标 geographic_msgs::geographic_msgs ) ament_target_dependencies(params_manager rclcpp geographic_msgs ) add_library(imu_preintegrator src/imu_preintegrator.cpp include/tunnel_mapping/imu_preintegrator.hpp ) target_link_libraries(imu_preintegrator rclcpp::rclcpp sensor_msgs::sensor_msgs # 显式链接消息类型 geographic_msgs::geographic_msgs ) ament_target_dependencies(imu_preintegrator rclcpp sensor_msgs geographic_msgs )
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值