CMake 3.31 发行说明

自 CMake 3.30 以来的更改包括以下内容。

新功能

预设 (Presets)

  • cmake-presets(7) 文件现在可以在 JSON 对象内的任何级别使用 $comment 键包含注释,以提供文档。

  • cmake-presets(7) 文件现在可以使用配置预设中的 graphviz 键请求 graphviz 输出。

生成器

命令行

编译器

  • 现在支持 LFortran 编译器,其 compiler idLFortran

命令

  • 添加了 add_custom_command() 命令的 CODEGEN 选项,用于将自定义命令的输出标记为 codegen 目标的依赖项。请参阅策略 CMP0171

  • 添加了 cmake_pkg_config() 命令,作为使用 CMake 的原生 pkg-config 格式解析器的端点。在此版本中唯一支持的选项是 EXTRACT,它提供了对解析 pkg-config 文件产生的值的低级访问。对于大多数用户来说,这还不能很好地替代 FindPkgConfig 模块。

  • file(ARCHIVE_CREATE) 命令添加了 WORKING_DIRECTORY 选项,用于指定归档过程的工作目录。

  • file(MAKE_DIRECTORY) 命令添加了 RESULT 选项,用于捕获结果变量中的失败。

  • install(FILES)install(DIRECTORY) 命令的 TYPE 参数现在支持 LIBEXEC 类型。

变量

属性

模块

CTest

CPack

已弃用和已删除的功能

其他更改

更新

自 CMake 3.31.0 以来的更改包括以下内容。

3.31.1, 3.31.2, 3.31.3, 3.31.4, 3.31.5, 3.31.6, 3.31.7, 3.31.8, 3.31.9

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

3.31.10

  • execute_process() 命令在其 TIMEOUT 到期时再次终止子进程。此行为在 CMake 3.29 中被意外回退。