自动化构建系统 CMake 3.12 发布,包含重要变化

栏目: 软件资讯 · 发布时间: 7年前

内容简介:CMake 3.12.0 现已发布,下载地址为 https://cmake.org/download/。 文档:https://cmake.org/cmake/help/v3.12 发布说明:https://cmake.org/cmake/help/v3.12/release/3.12.html CMake 3.12 包含不少重要的变化...

CMake 3.12.0 现已发布,下载地址为 https://cmake.org/download/

文档:https://cmake.org/cmake/help/v3.12
发布说明:https://cmake.org/cmake/help/v3.12/release/3.12.html

CMake 3.12 包含不少重要的变化:

  • The “target_link_libraries()” command now supports Object Libraries. Linking to an object library uses its object files in direct dependents and also propagates usage requirements.

  • The “file(GLOB)” and “file(GLOB_RECURSE)” commands learned a new flag “CONFIGURE_DEPENDS” which enables expression of build system dependency on globbed directory’s contents.

  • The “Compile Features” functionality is now aware of C++ 20. No specific features are yet enumerated besides the “cxx_std_20” meta-feature.

  • The Visual Studio Generators for VS 2017 learned to support a “version=14.##” option in the “CMAKE_GENERATOR_TOOLSET” value (e.g. via the “cmake(1)” “-T” option) to specify a toolset version number.

  • The “cmake(1)” Build Tool Mode (“cmake –build”) gained “– parallel [<jobs>]” and “-j [<jobs>]” options to specify a parallel build level. They map to corresponding options of the native build tool.

  • The “add_compile_definitions()” command was added to set preprocessor definitions at directory level. This supersedes “add_definitions()”.

  • The “cmake_minimum_required()” and “cmake_policy(VERSION)” commands now accept a version range using the form “<min>[…<max>]”. The “<min>” version is required but policies are set based on the “<max>” version. This allows projects to specify a range of versions for which they have been updated and avoid explicit policy settings.

  • The “find_package()” command now searches a prefix specified by a “PackageName_ROOT” CMake or environment variable. Package roots are maintained as a stack so nested calls to all “find_*” commands inside find modules also search the roots as prefixes. See policy “CMP0074”.

  • A new “$<GENEX_EVAL:…>” and “$<TARGET_GENEX_EVAL:target,…>” “generator expression” has been added to enable consumption of generator expressions whose evaluation results itself in generator expressions.

  • A new “$<TARGET_EXISTS:…>” “generator expression” has been added.

  • A new “$<TARGET_NAME_IF_EXISTS:…>” “generator expression” has been added.

  • The “FindCURL” module now provides imported targets.

  • The “FindJPEG” module now provides imported targets.

  • A “FindODBC” module was added to find an Open Database Connectivity (ODBC) library.

  • New “FindPython3” and “FindPython2” modules, as well as a new “FindPython” module, have been added to provide a new way to locate python environments.


【声明】文章转载自:开源中国社区 [http://www.oschina.net]


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UNIX环境高级编程

UNIX环境高级编程

W.Richard Stevens、Stephen A.Rago / 尤晋元、张亚英、戚正伟 / 人民邮电出版社 / 2006年 / 99.00元

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息......一起来看看 《UNIX环境高级编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具