CMake 3.24 发行说明

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

新功能

预设

  • cmake-presets(7) 文件现在支持模式版本 5

  • cmake-presets(7) 文件现在支持 ${pathListSep} 宏,该宏基于平台扩展至 :;

  • cmake-presets(7) 文件获得了在测试预设中指定 testOutputTruncation 字段的支持,该字段指定达到最大的测试输出大小时要使用的截断模式。

生成器

  • 如果更新任何 CMake 文件,Green Hills MULTI 生成器现在会生成重新运行 CMake 的构建规则。

  • Visual Studio 生成器 现在在使用较晚于或等于 VS 2019 Update 11 时支持 SYSTEM 标头。

命令行

  • cmake(1) 获得了 --fresh 命令行选项,用于在配置构建树时删除任何现有的 CMakeCache.txt 文件和关联的 CMakeFiles/ 目录,从而启动全新的配置,就好像构建树是新创建的一样。

  • cmake(1) 新增了 --compile-no-warning-as-error 命令行选项,该选项会忽略 COMPILE_WARNING_AS_ERROR 目标属性和 CMAKE_COMPILE_WARNING_AS_ERROR 变量的作用。

  • cmake(1) --trace=json-v1 跟踪格式新增 global_frameline_end 字段。

  • cmake(1) -E 命令 catenv 已学会识别双破折号 (--) 参数,该参数用作分界符,表示选项的结束。任何后续参数都将视为操作数/位置参数,即使它们以破折号 - 字符开头也是如此。

  • cmake(1) -E tar 命令新增了 --touch 选项,以保留当前本地时间戳,而不是从存档中提取文件时间戳。

编译器

  • LLVM 的 flang Fortran 编译器现在支持某些平台,编译器 id 为 LLVMFlang

  • ADSP 编译器支持(SHARC 和 Blackfin)现在同时涵盖 CCES 和 VDSP++ 安装,现在可以在编译器模块本身而不是 Generic-ADSP 平台模块中完成所需的配置。

平台

  • 已添加一个专用的 ADSP 平台,以替换现有的 Generic-ADSP 实现。此功能会自动检测最新的 CCES/VDSP++ 安装和编译器选择(cc21kccblkfn),方法是基于 CMAKE_SYSTEM_PROCESSOR 变量。

命令

Variables

属性

模块

生成器表达式

CTest

CPack

  • CPack WIX Generator 获得了一个新变量 CPACK_WIX_ARCHITECTURE,用于指定安装程序架构,以支持运行 Windows 的 ARM 计算机。

  • 在使用 libarchive 3.6 或更高版本编译时,CPack 现在支持 CPACK_THREADS 选项用于 zstd 压缩。 cmake.org 上提供的官方 CMake 二进制文件支持此选项。

已弃用和已删除的功能

其他更改

更新

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

3.24.1、3.24.2

  • 这些版本未对已记录的功能或界面进行任何更改。进行一些实现更新以支持生态系统更改或者修复回归。

3.24.3

  • 在 3.24.0 中添加的 LLVMFlang Fortran 编译器支持已扩展

    • 现在支持 Fortran 和 C 或 CXX 之间的混合语言链接。

    • 现在支持 Windows 上的 GNU ABI (MinGW),但尚不支持 MSVC ABI。

  • 进行一些实现更新以支持生态系统更改或者修复回归。

3.24.4

  • 此版本未对已记录的功能或界面进行任何更改。进行一些实现更新以支持生态系统更改或者修复回归。