CMake 3.22.0 发布,开源构建系统

Alias_Travis
 Alias_Travis
发布于 2021年11月25日
收藏 3

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/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:CMake 3.22.0 发布,开源构建系统
加载中
返回顶部
顶部