跨平台开源构建脚本生成器 CMake 4.0.0 发布,作为 Autotools 的替代品,用于 KDE、LLVM/Clang、MySQL、MariaDB、ReactOS 和 Blender 等项目。 CMake 代码用 C++ 编写,并根据 BSD 许可分发。
CMake 因提供简单的脚本语言、通过模块扩展功能的工具、缓存支持、交叉编译工具的存在、为各种构建系统和编译器生成构建文件的支持、ctest 和 cpack 的存在而闻名。用于定义测试脚本和构建包的实用程序,以及用于交互式配置构建参数的 cmake 实用程序 -gui。
主要变化:
- 与 3.5 之前的 CMake 版本的兼容性已被破坏。当链接到不受支持的版本时,cmake_minimum_required() 和 cmake_policy() 现在会抛出错误。
- 添加环境变量“CMAKE_POLICY_VERSION_MINIMUM”来覆盖构建项目所需功能的最低 CMake 版本。添加的变量允许您在不改变项目本身中的 cmake_minimum_required(VERSION) 和 cmake_policy(VERSION) 调用的情况下执行操作,例如,在没有提供此类功能的项目中配置版本策略。
- 在生成器表达式“$添加了“NATIVE_PATH”操作,用于将文件路径从CMake表示形式(始终使用“/”分隔目录)转换为系统路径(类Unix系统使用“/”分隔目录)。 Windows — «\»)。
- 在平台上 macOS 使用基于 Ninja 的构建脚本生成器和 Makefile 生成器时,如果 /usr/bin 目录中存在编译器,则不会将其链接到 Xcode 中的编译器。构建平台时, macOS 选择 SDK 并将“-isysroot”标志传递给编译器的默认行为已被取消(现在 SDK 由编译器本身选择,而不是由 CMake 选择)。
- 添加了 LINK_WARNING_AS_ERROR 属性,这将导致链接器警告被视为错误。为了禁用此属性的效果,已添加命令行选项“--link-no-warning-as-error”。
- cmake 实用程序有一个“--project-file”选项,用于为 CMakeLists.txt 文件指定备用名称。
- CPack 生成器现在可以创建未压缩的 tar 档案。
- target_link_libraries() 命令和 CMAKE_EXE_LINKER_FLAGS*、CMAKE_SHARED_LINKER_FLAGS*、CMAKE_MODULE_LINKER_FLAGS* 变量已更新以支持“LINKER:”前缀。
- 添加的新变量:
- CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL, 复制代码
- CMAKE_ _链接模式,
- CMAKE_ _设备链接模式,
- CMAKE_LINK_WARNING_AS_ERROR,
- CMAKE_MSVC_RUNTIME_CHECKS,
- CMAKE_DEBUGGER_工作目录,
- CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
- CMAKE_XCODE_SCHEME_TEST_CONFIGURATION。
- 添加了新属性:DEBUGGER_WORKING_DIRECTORY 和 VS_SOLUTION_ITEMS(用于将文件附加到 Visual Studio 的 .sln)。
- 为 sparc64 和 x86_64 架构的 SunOS 生成现成的 CMake 程序集。
来源: opennet.ru
