命令简介

cmake_minimum_required用于设定cmake的最低版本。

cmake_minimum_required(VERSION <min>[...<policy_max>] [FATAL_ERROR])
  • <min>:cmake的最低版本;

  • 可选参数...<policy_max>:与<min>配合表示版本区间;

  • FATAL_ERROR:在cmake2.6及更高版本可被接受单被忽略,如果使用cmake2.4及以下版本则显示错误,而不仅仅是警告。

用途

当我们通过SVN或Git拉取使用cmake进行安装(编译)的项目时,由于目标机器上安装的cmake版本不可控。而本地工具太旧,可能存在新语法无法兼容。或本地工具版本太高,可能一些旧语法被移除等。

因此,我们通常制定cmake的版本,避免问题。

用法

指定cmake最低版本:

cmake_minimum_required(VERSION 3.25)

笔者这边安装的cmake版本:

C:\Users\Admin>cmake --version
cmake version 3.17.20200511-g8787079CMake suite maintained and supported by Kitware (kitware.com/cmake).

因为本地安装的版本3.17低于CMakeLists.txt中要求的3.25:

CMake Error at CMakeLists.txt:1 (cmake_minimum_required):CMake 3.25 or higher is required.  You are running version3.17.20200511-g8787079

当然也可以指定cmake的版本区间:

cmake_minimum_required(VERSION 3.17...3.25)

CMake——cmake_minimum_required相关推荐

  1. ISP 【一】————boost标准库使用——批量读取保存文件 /boost第三方库的使用及其cmake添加,图像gramma

    CMakeLists.txt文件中需要添加第三方库,并企鹅在CMakeLists.txt中添加 include_directories(${PROJECT_SOURCE_DIR}/../3party/ ...

  2. 现代CMake高级教程 - 第 0 章:命令行小技巧

    双笙子佯谬老师的[公开课]现代CMake高级教程课程笔记 为什么要学习现代 CMake? 现代 CMake 指的是 CMake 3.x. 古代 CMake 指的是 CMake 2.x. 通过互联网和学 ...

  3. 替代notepad++,notepad--介绍及插件cmake编译

    Notepad++ 是一个文本编辑器小软件,用来替代windows自带的记事本.然而Notepad++软件的作者太霸道,如果你不赞同他的观点,Notepad++将会在你的源码里面插入随机字符.推荐一款 ...

  4. 鸿蒙so系统,鸿蒙手机版JNI实战(JNI开发、SO库生成、SO库使用)

    鸿蒙JNI开发现状 现阶段,不仅鸿蒙JNI相关的开发资料较少,而且Phone相关的JNI开发资料几乎没有,这对于新入行的鸿蒙开发者们来说,非常不友好. 也可能会给Android工程(使用了SO库的工程 ...

  5. Eigen的基础使用-C++

    为什么80%的码农都做不了架构师?>>>    #Eigen的安装 下载Eigen以后直接引用头文件即可,需要的头文件如下 Eigen支持的编译器类型 GCC, version 4. ...

  6. Cmake-cmake_minimum_required()

    Cmake cmake_minimum_required 命令 1. cmake_minimum_required 1.1 命令格式: 1.2 参数说明 1.3 示例 1.4 注意事项 1. cmak ...

  7. DCMTK3.5.4与3.6.0版本的区别

    首先要明白DCMTK默认选择的/MT和/MTd的运行时库. 在DCMTK3.5.4中的CMake配置文件CMakeLists.txt有对外部动态库的路径描述,而且通过CMake程序可以直接修改运行时库 ...

  8. 3d激光雷达开发(pcl安装和使用)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 之前讨论过,目前3d激光雷达这块,算法部分用的最多的就是pcl库.网上很多教程都是讲pcl在li ...

  9. go+gSoap+onvif学习总结:7、进行镜头调焦、聚焦和预置点的增删改查

    cgo+gSoap+onvif学习总结:7.进行镜头调焦.聚焦和预置点的增删改查 文章目录 cgo+gSoap+onvif学习总结:7.进行镜头调焦.聚焦和预置点的增删改查 1. 前言 2. gSoa ...

最新文章

  1. SAP QM初阶之物料主数据QM视图里的Preferred Inpspection Type
  2. 2019年顶级软件开发趋势
  3. 信息系统项目管理师-论文专题(三)范围管理论文写作
  4. OpenCV与图像处理学习十六——模板匹配
  5. Win7系统网页视频无法播放怎么办
  6. (一) Qt Model/View 的简单说明
  7. python学习——numpy库
  8. 测试管理中的一个问题—功能点覆盖还是功能测试点覆盖
  9. Windows勒索病毒'Wannacry'修复补丁下载,救命必看!
  10. 解决缓存和数据库双写数据一致性问题
  11. java 调用 pb dll_[转载]一个java调用delphi写的dll问题,郁闷了一天一晚解决
  12. Java关于中查询数据时,报错java.lang.IllegalArgumentException: HOUR_OF_DAY: 0 -> 1的问题
  13. 大型在线考试答题系统源码 B/S架构
  14. 身体不同部位锻炼相关英语表达
  15. html 5新增技术,HTML5新增元素,标签总结
  16. 华为手机打开图片很慢是怎么回事_华为手机打开应用很慢怎么办
  17. 手机副业哪个好?利用手机赚钱并不难
  18. c语言美元转换人民币的程序,【其它】编程题: 1.编写一个人民币和美元的双向汇率转换程序,实现美元和人民币转换,汇率:1美元=6.92人民币...
  19. gitBash快速清屏,git命令行操作,快速清屏,清屏
  20. 大数据核心技术是什么

热门文章

  1. SpringAOP(2)
  2. Linux高性能服务器I/0高级应用:非阻塞connect(15)
  3. Python 脚本获取上一个工作日的方法
  4. 【目标检测】研究生第一次组会汇报PPT(初稿)(专业术语讲解+论文分析)(100页)(下篇)
  5. 讲解java源码_Java学习之Java源码讲解
  6. 使用学习曲线诊断机器学习模型性能
  7. 怎么找回游戏服务器,rust怎么找到之前玩的服务器 | 手游网游页游攻略大全
  8. SpringMVC指定静态资源路径
  9. flask中SQLAlchemy使用MySQL的mediumtext字段类型
  10. 程序设计中常用的解题策略 pdf电子书