CMake 3.21 发行说明

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

新功能

预设

生成器

语言

命令行

编译器

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

平台

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

基于文件的 API

  • cmake-file-api(7) "codemodel" version 2 的 version 字段已更新至 2.3。

  • cmake-file-api(7) "codemodel" version 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 Preview 2”。之前它基于“Preview 1.1”。

3.21.2

3.21.3

  • Visual Studio 17 2022 生成器现在基于“Visual Studio 2022 Preview 4”。之前它基于“Preview 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

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