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


    cmake_minimum_required

    简介

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

    使用案例

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

    普通设置

    • CMakeLists.txt中的内容
    cmake_minimum_required(VERSION 3.27)
    
    • 1
    • 【✅】执行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
    
    • 1
    • 2
    • 3
    • 4

    执行构建的cmake版本低于

    • CMakeLists.txt中的内容
      cmake_minimum_required(VERSION 3.30)
      
      • 1
    • 【❌】执行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!   
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

    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>...])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 命令详解

    使用案例

    普通设置

    • CMakeLists.txt中的内容
    cmake_minimum_required(VERSION 3.20)
    project(projectX)
    
    • 1
    • 2
    • 【✅】执行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
    
    • 1
    • 2
    • 3
    • 4

    set

    简介

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

    使用案例

    普通设置

    • CMakeLists.txt中的内容
    cmake_minimum_required(VERSION 3.20)
    project(projectX)
    
    set(CMAKE_CXX_STANDARD 11)
    
    • 1
    • 2
    • 3
    • 4
    • 【✅】执行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
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    python如何将c代码打包,上传
    linux环境下安装jdk1.8
    工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?
    第十四章第三节2:Java集合框架之队列Queue
    Linux网络编程-数据链路层
    有没有EDEM2021.2的Linux版本
    mysql与oracle分页的有什么区别
    [PyTorch][chapter 56][GAN 代码实现]
    SSM框架学习——Spring之注解开发
    美林投资时钟策略如何运用?
  • 原文地址:https://blog.csdn.net/weixin_45725295/article/details/136583063