CMake 3.21 发布说明

自 CMake 3.20 以来所做的更改包括以下内容。

新功能

预设

生成器

语言

命令行

编译器

  • 现在使用编译器 ID Fujitsu(以传统模式 Trad)和编译器 ID FujitsuClang(以 Clang 模式)支持富士通编译器。

平台

  • CMake 现在支持 MSYS 运行时环境,类似于 CYGWIN。

基于文件的 API

  • cmake-file-api(7)“代码模型”版本 2 的 version 字段已更新为 2.3。

  • cmake-file-api(7)“代码模型”版本 2 获得了一个新的“directory”对象,其中包含目录级信息。这包括由 install() 命令生成的安装程序列表。

命令

变量

属性

模块

  • 模块 FindBLASFindLAPACK 现在可以支持串行 Fujitsu_SSL2 和并行 Fujitsu_SSL2BLAMP 库。

  • 模块 FindDevIL 现在提供导入目标。

  • 模块 FindIconv 现在支持版本。

  • 模块 FindIntl 现在支持版本。

  • 模块 FindMPI 现在可以支持在主机和交叉编译模式下使用 FujitsuFujitsuClang

  • 添加了模块 FindMsys 来查找 MSYS 安装。与 FindCygwin 一样,它会被一些其他查找模块自动使用,以便在 Windows 上查找 UNIX 风格的工具。

  • 模块 FindOpenMP 现在可以支持 FujitsuFujitsuClang

  • 模块 FindVulkan 新增了导入目标 Vulkan::HeadersVulkan::glslangValidator

  • 模块 UseJava 命令 add_jar 新增了 RESOURCES 选项,允许显式命名具有非可选命名空间的资源。

  • 模块 UseSWIG 现在对 CSharp 语言使用标准库命名约定。请参阅策略 CMP0122

  • 现在,UseSWIG 模块支持使用 swig 工具与 Xcode 生成器一起生成隐式依赖项。

生成器表达式

CTest

CPack

已弃用和已删除的功能

其他更改

更新

自 CMake 3.21.0 以来进行的更改包括以下内容。

3.21.1

  • Visual Studio 17 2022 生成器现在基于“Visual Studio 2022 预览版 2”。之前它基于“预览版 1.1”。

3.21.2

3.21.3

  • Visual Studio 17 2022 生成器现在基于“Visual Studio 2022 预览版 4”。之前它基于“预览版 3.1”。

  • AMD ROCm 平台 hipcc 编译器在 CMake 3.21.0 到 3.21.2 中被识别为具有 id ROCMClang 的独立编译器。由于这会导致回归,因此已将其删除。取而代之的是

    • hipcc 可能不再用作 HIP 编译器,因为它会干扰 CMake 需要传递给 Clang 的标志。请直接使用 Clang。

    • hipcc 现在可以再次用作 CXX 编译器,并被视为它在底层选择的任何编译器,就像 CMake 3.20 及更低版本一样。

3.21.4

  • Visual Studio 17 2022 生成器现在基于“Visual Studio 2022”发布候选版本。之前它基于预览版本。

3.21.5、3.21.6、3.21.7

这些版本没有对已记录的功能或接口进行任何更改。进行了一些实现更新以支持生态系统更改和/或修复回归。