当前位置: 首页 > news >正文

【CMake】顶层 CMakeList.txt 常用命令总结

文章目录

  • cmake_minimum_required
    • 简介
    • 使用案例
      • 普通设置
      • 执行构建的cmake版本低于`<min>`
  • project
    • 简介
    • 使用案例
      • 普通设置
  • set
    • 简介
    • 使用案例
      • 普通设置

cmake_minimum_required

简介

  • 功能:为项目设置cmake的最低要求版本
  • 常用程度:⭐⭐⭐⭐⭐
  • 命令格式
cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])
  • 命令详解
    • <min><policy_max>的格式:major.minor[.patch[.tweak]]
      • major:主版本号
      • minor:次版本号
      • patch:补丁版本号
      • tweak:微调版本号
    • 如果执行构建的cmake版本低于<min>,项目构建会停止并且会报告错误
    • <policy_max>如果指定,必须至少为<min>,影响策略设置。

使用案例

  • Windows终端查看cmake版本
cmake --version
  • 输出当前版本号为3.28.3
D:\Test\projectX\build>cmake --version
cmake version 3.28.3CMake suite maintained and supported by Kitware (kitware.com/cmake).

普通设置

  • CMakeLists.txt中的内容
cmake_minimum_required(VERSION 3.27)
  • 【✅】执行cmake构建命令后的输出
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: D:/Test/projectX/build

执行构建的cmake版本低于<min>

  • CMakeLists.txt中的内容
    cmake_minimum_required(VERSION 3.30)
    
  • 【❌】执行cmake构建命令后的输出:
    -- Selecting Windows SDK version 10.0.19041.0 
    to target Windows 10.0.19045.
    CMake Error at CMakeLists.txt:1 (cmake_minimum_required):CMake 3.30 or higher is required.  You are running version 3.28.3-- Configuring incomplete, errors occurred!   

project

简介

  • 功能:设置项目信息
  • 常用程度:⭐⭐⭐⭐⭐
  • 命令格式
project(<PROJECT-NAME> [<language-name>...])
project(<PROJECT-NAME>[VERSION <major>[.<minor>[.<patch>[.<tweak>]]]][DESCRIPTION <project-description-string>][HOMEPAGE_URL <url-string>][LANGUAGES <language-name>...])
  • 命令详解

使用案例

普通设置

  • CMakeLists.txt中的内容
cmake_minimum_required(VERSION 3.20)
project(projectX)
  • 【✅】执行cmake构建命令后的输出
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: D:/Test/projectX/build

set

简介

  • 功能:设置变量值
  • 常用程度:⭐⭐⭐⭐⭐
  • 命令格式
set(<variable> <value>... [PARENT_SCOPE])
  • 命令详解

使用案例

普通设置

  • CMakeLists.txt中的内容
cmake_minimum_required(VERSION 3.20)
project(projectX)set(CMAKE_CXX_STANDARD 11)
  • 【✅】执行cmake构建命令后的输出
-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19045.
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: D:/Test/projectX/build
http://www.lryc.cn/news/318623.html

相关文章:

  • mac启动elasticsearch
  • 【FFmpeg】ffmpeg 命令行参数 ⑤ ( 使用 ffmpeg 命令提取 音视频 数据 | 保留封装格式 | 保留编码格式 | 重新编码 )
  • JMeter 二次开发之环境准备
  • Laravel Class ‘Facade\Ignition\IgnitionServiceProvider‘ not found 解决
  • DNS 技巧与窍门
  • 第2章 信息技术基础
  • uniapp 微信小程序和h5处理文件(pdf)下载+保存到本地+预览功能
  • Linux从0到1——Linux第一个小程序:进度条
  • 软件工程师,是时候了解下Rust编程语言了
  • SSL---VPN
  • Chrome 跨域问题CORS 分析
  • GPU性能测试中的张量和矩阵运算
  • Linux运维_Bash脚本_编译安装FreeRDP-3.3.0
  • CMake官方教程4--使用表达式生成器
  • git for windows
  • C++实验 面向对象编程
  • VC++ 设置网卡接口MTU大小
  • dpdk-19.11 对向量指令的使用情况分析
  • 使用CIP采集欧姆龙EtherNet/IP从入门到精通
  • 企业如何高效管理微信里的客户?
  • 怎么在windows系统上查看kylinos的md5、sha1、sha256值
  • Windows中在C#中使用Dapper和Mysql.Data库连接MySQL数据库
  • 大一专科,物联网专业,变态成长偏方!
  • MyBatis入门(JDBC规范,MyBatis,连接池,Lombok)【详解】
  • Vue3--数据和方法
  • 网络编程面试题
  • 移动端区分点击和长按
  • 虚拟环境的激活
  • 宏集案例 | 风电滑动轴承齿轮箱内多点温度采集与处理
  • linux 16进制写入