CMake 3.28.0 发布,开源构建系统


CMake 是一个跨平台的自动化构建系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。

CMake 3.28.0 现已发布,一些亮点更新内容如下:

  • Ninja Generators 和 Visual Studio Generators for VS 2022 及更新版本,结合 MSVC 14.34 工具集(随 VS 17.4 提供)及更新版本、LLVM/Clang 16.0 及更新版本,以及 GCC 14(2023-09-20 每日更新后)及更新版本,现在都支持 C++ 20 命名模块。详情可参阅 "cmake-cxxmodules(7)"。
  • 现在可以使用 NVIDIA CUDA Compiler (NVCC) 为 NVIDIA GPU 编译“HIP”语言代码。参阅“CMAKE_HIP_PLATFORM”变量。
  • 在 Apple 平台上,现在支持“.xcframework”文件夹。
  • 自 CMake 3.0 起已弃用的“exec_program()”命令已被 policy “CMP0153”删除。请改用“execute_process()”命令。
  • 使用文件集的目标中生成的文件现在默认被视为私有。生成的 public headers 必须使用文件集指定。这使得 Ninja Generators 能够生成更高效的构建图。参见政策“CMP0154”。
  • “find_library()”、“find_path()”和“find_file()”命令不再搜索从“PATH”环境变量派生的安装前缀。此行为是在 CMake 3.3 中添加的,以支持 Windows 上的 MSYS 和 MinGW(“MSYSTEM”)开发环境,但它可以出于不相关的原因搜索恰好位于“PATH”中的不需要的前缀。在“PATH”中保留一些“<prefix>/bin”目录只是为了他们的工具的用户,不一定希望搜索任何相应的“<prefix>/lib”“<prefix>/include”目录。CMake 3.6 已针对非 Windows 平台恢复了该行为。现在它也已在Windows 平台上恢复。

详情可查看发布公告

下载:https://cmake.org/download/


相關推薦

2023-07-25

也可以通过编写脚本进行半自动的生成。 CMake 3.27.0 现已发布,一些亮点更新内容如下: “cmake(1)”现在支持 CMake 语言的交互式调试。参阅“--debugger”选项。 VS 2015 及更高版本的 Visual Studio Generators 学会了使用“CMAKE_GENERATO

2023-03-18

也可以通过编写脚本进行半自动的生成。 CMake 3.26.0 现已发布,一些亮点更新内容如下: 添加了“ASM_MARMASM”语言以支持 Microsoft ARM 汇编语言。 CMake 现在将配置时检查的 YAML 日志写入构建树顶部下的“CMakeFiles/CMakeConfigureLog

2024-07-05

过编写脚本进行半自动的生成。 CMake 3.30.0 现已发布,一些亮点更新内容如下: “cmake-presets(7)” 文件现在支持 schema version“9”。 “include”字段现在扩展除“$env{}” 和 preset-specific 宏(即从预设定义内的字段派生的

2022-11-20

写,也可以通过编写脚本进行半自动的生成。 CMake 3.25.0 发布,比较重要的更新内容如下: find_file()、 find_path()、 find_library() 和 find_program() 命令获得了一个 VALIDATOR 选项,以指定一个函数来验证每一个候选项的有效性。 try_

2024-03-27

也可以通过编写脚本进行半自动的生成。 CMake 3.29.0 现已发布,一些亮点更新内容如下: Windows 上的 LLVM/Clang GNU-like 前端(“clang++”)现在可用于编译“CUDA”语言源。 基于 TI Clang 的编译器现在支持编译器 id“TIClang

2024-08-07

以通过编写脚本进行半自动的生成。 CMake 3.30.2 现已发布,一些亮点更新内容如下: cmCPackExternalGenerator:确保在运行脚本之前写入 JSON ci:更新 CMake 版本至 3.30.1 Xcode: 恢复对 CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD) 的支持 H

2022-08-07

也可以通过编写脚本进行半自动的生成。 CMake 3.24.0 现已发布,一些亮点更新内容如下: “FetchContent”模块和“find_package()”命令现在支持集成功能。 添加了“LINK_LIBRARY”生成器表达式以管理在链接步骤中指定库的方式。

2023-09-20

也可以通过编写脚本进行半自动的生成。 CMake 3.27.5 现已发布,一些亮点更新内容如下: cmGeneratorTarget:支持独立于配置的 Fortran 源查询 cmComputeLinkInformation:计算使用模块的目标的链接信息 FortranCInterface:转发 CMAKE_OSX_DEPL

2023-10-10

也可以通过编写脚本进行半自动的生成。 CMake 3.27.7 现已发布,一些亮点更新内容如下: Android:-std=c++23 需要 Clang 18 测试:Clarify RunCMake.CTestTimeout case name ctest:恢复对 --timeout 值高于默认测试超时的支持 帮助:记录已设

2024-04-16

也可以通过编写脚本进行半自动的生成。 CMake 3.29.2 现已发布,一些亮点更新内容如下: Tests/RunCMake/CompilerChange:简化测试用例 修复使用未规范化的 -DCMAKE_<LANG>_COMPILER= 重新配置时的回归 CMakePackageConfigHelpers: 恢复未

2022-05-28

也可以通过编写脚本进行半自动的生成。 CMake 3.23.2 现已发布,具体更新内容如下: CPack/NuGet:在 Windows 上恢复 component packaging cmInstallCommand:调整错误信息 cmExportBuildFileGenerator:处理 genex-wrapped 的源路径 ci:使用 CMake 3.2

2022-08-21

也可以通过编写脚本进行半自动的生成。 CMake 3.24.1 现已发布,一些亮点更新内容如下: automoc:避免 linker-warning-silencing code 中的编译器警告 FindThreads:针对 MSVC ABI 时跳过检查 -pthread 标志 IPO:不要在 Windows 上的 GCC 10.x 中

2023-08-19

也可以通过编写脚本进行半自动的生成。 CMake 3.27.3 现已发布,一些亮点更新内容如下: FindJNI:在没有 Xcode 的情况下恢复对 macOS 的支持 Utilities/Release:移除未使用的文档构建设置 Apple Text Stubs (.tbd):各种修复 Clang:在

2023-09-26

也可以通过编写脚本进行半自动的生成。 CMake 3.27.6 现已发布,一些亮点更新内容如下: Tests/FortranModules:将 issue 25112 的修复从 FortranOnly 移出 Tests/FortranModules:为 #25223 添加测试用例 add_custom_target:修复 Fortran sources