CMake 3.22.0 发布,开源构建系统

来源: OSCHINA
编辑: Alias_Travis
2021-11-25

CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。

CMake 3.22.0 发布,更新内容如下:

  • 命令:
    • cmake_host_system_information() 命令现在能够从 /etc/os-release 文件中查询操作系统识别变量。
    • string(TIMESTAMP) 命令现在支持用于 ISO 8601 周数的 %V 指定符。
  • 变量:
    • 新增了 CMAKE_BUILD_TYPE 环境变量,为 CMAKE_BUILD_TYPE 变量提供了一个默认值。
    • 增加了 CMAKE_CONFIGURATION_TYPES 环境变量,为 CMAKE_CONFIGURATION_TYPES 变量提供默认值。
    • 新增了 CMAKE_INSTALL_MODE 环境变量,用于告诉 install() 规则安装符号链接而不是复制文件。
    • 新增了 CMAKE__LINK_WHAT_YOU_USE_FLAGCMAKE_LINK_WHAT_YOU_USE_CHECK 变量,用于控制 LINK_WHAT_YOU_USE 目标属性使用的链接器标志和检查。
    • 新增了 CMAKE_REQUIRE_FIND_PACKAGE_ 变量,用于将非必需的 find_package() 调用变成必需的。
  • 属性:
    • 现在 _EXTENSIONS 目标属性被初始化为 CMAKE__EXTENSIONS_DEFAULT,由编译器检测。
    • VS_SETTINGS 源文件属性现在支持所有源文件类型,之前它只对非构建的源文件起作用。
  • 弃用和删除的功能:
    • Visual Studio 10 2010 生成器现在已被弃用,并将在未来的 CMake 版本中被移除。
  • 其他变化:
    • 当没有指定标准级别时,编译功能现在可以正确地禁用或启用编译器扩展,并且如果要求的设置与编译器的默认值一致,则可以避免不必要地添加语言标准标志。
    • 编译特性功能现在会忽略未启用的语言的特性。
    • Ninja 生成器现在使用 ccmake(1) 来实现 edit_cache 目标(如果有的话)。
    • CPack NSIS 生成器现在需要 NSIS 3.03 或更高版本。

更多详情可查看:https://blog.kitware.com/cmake-3-22-0-available-for-download/

展开阅读全文
3 收藏
分享
加载中
最新评论 (5)
学习一下
2021-11-25 12:14
0
回复
举报
CMake官方文档中文翻译(未完):https://github.com/gwankyun/CMake
2021-11-25 09:42
0
回复
举报
为啥都喜欢抛弃旧的东西呢,兼容不行吗,真是
2021-11-25 09:23
0
回复
举报
好不好用我是不知道,反正我是知道这东西中文文档太少,示例太少
2021-11-25 08:54
0
回复
举报
翻译了部分文档https://github.com/gwankyun/CMake
2021-11-25 09:40
0
回复
举报
更多评论
5 评论
3 收藏
分享
返回顶部
顶部