CMake 3.15 构建系统发布

发生 发布跨平台开放构建脚本生成器 CMake的3.15,它作为 Autotools 的替代品,用于 KDE、LLVM/Clang、MySQL、MariaDB、ReactOS 和 Blender 等项目。 CMake 代码是用 C++ 编写的,并在 BSD 许可证下分发。

CMake 因提供简单的脚本语言、通过模块扩展功能的方法、最少数量的依赖项(不绑定到 M4、Perl 或 Python)、缓存支持、交叉编译工具的存在、对生成构建的支持而闻名。用于各种构建系统和编译器的文件,用于定义测试脚本和构建包的 ctest 和 cpack 实用程序,用于交互式设置构建参数的 cmake-gui 实用程序。

改进:

  • 基于 Ninja 的构建脚本生成器已添加初始语言支持 斯威夫特,由苹果公司开发;
  • 添加了对适用于 Windows 的 Clang 编译器变体的支持,该编译器使用 MSVC ABI 构建,但使用 GNU 风格的命令行选项;
  • 添加了 CMAKE_MSVC_RUNTIME_LIBRARY 和 MSVC_RUNTIME_LIBRARY 变量来选择基于 MSVC ABI (MS Visual Studio) 的编译器使用的运行时库;
  • 对于像 MSVC 这样的编译器,CMAKE__FLAGS 默认情况下会停止列出警告控制标志,例如“/W3”;
  • 添加了生成器表达式“COMPILE_LANG_AND_ID:”来定义目标文件的编译器选项,使用每个代码文件的 CMAKE__COMPILER_ID 和 LANGUAGE 变量;
  • 在生成器表达式 C_COMPILER_ID、CXX_COMPILER_ID 中,
    CUDA_COMPILER_ID、Fortran_COMPILER_ID、COMPILE_LANGUAGE、
    COMPILE_LANG_AND_ID 和 PLATFORM_ID 添加了对将单个值与元素用逗号分隔的列表进行匹配的支持;

  • 添加了变量 CMAKE_FIND_PACKAGE_PREFER_CONFIG,以便调用 find_package() 将首先搜索包的配置文件,即使查找器可用;
  • 对于接口库,添加了对设置 PUBLIC_HEADER 和 PRIVATE_HEADER 属性的支持,通过这些属性,可以使用 install(TARGETS) 命令通过传递 PUBLIC_HEADER 和 PRIVATE_HEADER 参数来设置标头;
  • 添加了 CMAKE_VS_JUST_MY_CODE_DEBUGGING 变量和目标属性 VS_JUST_MY_CODE_DEBUGGING,以在使用 MSVC cl 19.05 及更高版本进行编译时在 Visual Studio 调试器中启用“仅我的代码”模式;
  • FindBoost 模块经过重新设计,现在在存在其他搜索模块的情况下,可以在配置和模块模式下更全面地工作;
  • message() 命令现在支持类型 NOTICE、VERBOSE、
    调试和跟踪;

  • 除非通过 CMAKE_EXPORT_PACKAGE_REGISTRY 变量显式启用,否则“export(PACKAGE)”命令现在不会执行任何操作。

来源: opennet.ru

添加评论