CMake 3.17.0带有新的Ninja脚本生成器,改进功能以及更多功能

推出 跨平台开源脚本生成器的新版本 CMake的3.17,其中 开发人员已经工作 添加一个新的 脚本生成器,称为“ Ninja Multi-Config”,对Visual Studio脚本生成器的改进,常规优化等。

对于那些不知道的人 CMake的,他们应该知道 是一种多平台代码生成或自动化工具 它可以替代Autotools,并在KDE,LLVM / Clang,MySQL,MariaDB,ReactOS和Blender等项目中使用。

CMake的 以提供一种简单的脚本语言而著称, 意味着可以跨模块扩展功能,最少数量的依赖项(不绑定到M4,Perl或Python),支持缓存, 交叉编译工具的存在,支持为各种构建系统和编译器生成构建文件,支持定义测试和构建脚本的ctest和cpack实用程序,用于交互配置构建参数的cmake-gui实用程序。

该实用程序 用于控制软件的编译过程 使用简单且与平台无关的配置文件。 生成可在所需开发环境中使用的本机makefile和工作区。

与GNU构建系统相当 在Unix中,该进程由配置文件控制(对于CMake,称为CMakeLists.txt)。

CMake 3.17.0的新功能

如开头所述,在此新版本的CMake 3.17.0中突出的主要新颖性之一是 添加一个新的构建脚本生成器 基于忍者工具,其名称为«忍者多配置«,与之前的生成器不同,因为此新生成器 提供了同时处理多个构建配置的功能。

与此同时,在构建脚本生成器中 对于Visual Studio,您现在可以定义附加到每个设置的源文件。

设置CUDA元参数的能力 (“ Cuda_std_03”,“ cuda_std_14”等) 已添加到工具 配置编译器功能(编译功能)。

除此之外,广告还提到 添加变量 «CMAKE_CUDA_RUNTIME_LIBRARY“和”CUDA_RUNTIME_LIBRARY»使用CUDA时要选择运行时库的类型,还要使用“ FindCUDAToolkit”模块来确定系统上可用的CUDA工具,而无需包括CUDA语言。

在CMake 3.17.0中,命令«–调试查找»已添加,以在搜索时显示其他可读的诊断。 出于类似的目的,该变量 CMAKE_FIND_DEBUG_MODE。

添加 支持在«FindCURL»模块中查找CURL工具 使用cmake生成的“ CURLConfig.cmake”配置文件。 若要禁用此行为,提供了变量CURL_NO_CURL_CMAKE。

模块 FindPython增加了搜索Python组件的能力 在«康达«。

添加 选项 «–无测试= [错误| 忽视]»至ctest实用程序以 在没有证据的情况下确定行为 和“ -repeat”指定重新启动测试的条件(直到超时后,测试通过)。

在公告中提到的其他更改:

  • 建立目标属性 INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS 它们在静态组装库的内部依赖关系之间传递。
  • 使用MinGW工具包时,请使用以下命令搜索DLL文件 查找库 默认情况下,它是禁用的(尝试导入“ .dll.a”库)。
  • 现在,在Ninja生成器中选择ninja实用程序的逻辑不取决于可执行文件名-使用第一个实用程序 忍者生成, 忍者 o SAMU 找到,可以在通过PATH环境变量定义的路径中找到。
  • 命令 ”-电子邮件»已添加到cmake实用程序中,该实用程序可用于删除文件和目录,而不是单独的命令«-E删除“和”-E 删除目录«。

最后 如果您想了解更多,您可以在以下位置查看此新版本的公告 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。