CMake 3.5 发行说明¶
自 CMake 3.4 以来所做的更改包括以下内容。
新功能¶
图形用户界面¶
cmake-gui(1)获得了控制有关已弃用功能的警告的选项。cmake-gui(1)学习了一个选项来设置工具集以与 VS IDE 和 Xcode 生成器一起使用,很像现有的-T选项给cmake(1).cmake-gui(1)获得了一个正则表达式资源管理器,可用于实时创建和评估正则表达式。资源管理器窗口可通过“工具”菜单获得。
命令行¶
命令¶
cmake_parse_arguments()命令现在已本地实现。CMakeParseArguments模块保留为空占位符以实现兼容性。install(DIRECTORY)命令学会了在目录列表中支持generator expressions。
变量¶
CMAKE_ERROR_DEPRECATED变量现在可以使用-Werror=deprecated和-Wno-error=deprecatedcmake(1)选项设置。CMAKE_WARN_DEPRECATED变量现在可以使用-Wdeprecated和-Wno-deprecatedcmake(1)选项设置。
特性¶
VS_GLOBAL_<variable>目标属性现已为 VS 2010 及更高版本实现。以前它只适用于 VS 2008 及以下版本。
模块¶
ExternalProject模块学习了一个新的GIT_REMOTE_NAME选项来控制git clone --origin值。FindBoost模块现在提供导入的目标,例如Boost::boost和Boost::filesystem。FindFLEX模块FLEX_TARGET宏学习了一个新的DEFINES_FILE选项来指定要生成的自定义输出标头。FindGTest模块现在提供导入的目标。FindGTK2模块,当启用GTK2_USE_IMPORTED_TARGETS时,现在将GTK2_LIBRARIES设置为包含导入目标的列表,而不是库的路径。此外,它现在设置了一个新的GTK2_TARGETS变量,其中包含所有导入的目标。FindOpenMP模块学会了支持 Clang。FindOpenSSL模块获得了一个新的OPENSSL_MSVC_STATIC_RT选项来使用 MSVC 静态运行时搜索库。FindPNG模块现在提供导入的目标。FindTIFF模块现在提供导入的目标。引入了 FindXalanC 模块来查找 Apache Xalan-C++ XSL 转换处理库。
FindXercesC 模块现在提供导入的目标。
平台¶
添加了对编译器 ID 为“ARMCC”的 ARM 编译器 (arm.com) 的支持。
添加了用于在 Cray Linux 环境中交叉编译目标计算节点的新平台文件。有关使用详细信息,请参阅 Cray Linux 环境的交叉编译。
Compile Features功能现在可以识别 Windows (MinGW) 上的 Clang 编译器支持的功能。在为 iOS 等嵌入式 Apple 平台构建时,CMake 学会了构建和安装包含设备和模拟器构建的组合目标。可以通过设置 IOS_INSTALL_COMBINED 目标属性来启用此行为。
包装¶
CPack DragNDrop Generator学习了新变量来指定 AppleScript 文件运行以自定义DragNDrop安装程序文件夹的外观,包括使用提供的 PNG 或多分辨率 TIFF 文件的背景图像设置。请参阅CPACK_DMG_DS_STORE_SETUP_SCRIPT和CPACK_DMG_BACKGROUND_IMAGE变量。CPack DEB Generator学会了使用整体变量或每个组件变量来设置可选配置文件``Source`` 字段。请参阅CPACK_DEBIAN_PACKAGE_SOURCE。CPack DEB Generator学会了为每个组件设置 Package、Section 和 Priority 控制字段。请参阅变量CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION和CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY。CPack DragNDrop Generator学会了将多语言 SLA 添加到 DMG,当用户尝试安装 DMG 时,该 DMG 会显示给用户。有关详细信息,请参阅CPACK_DMG_SLA_LANGUAGES和CPACK_DMG_SLA_DIR变量。CPack NSIS Generator学习了新变量以将位图添加到安装程序。请参阅CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP和CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP变量。CPack RPM Generator学会了为每个组件设置名称和组控制字段。请参阅CPACK_RPM_<组件>_PACKAGE_NAME和CPACK_RPM_<组件>_PACKAGE_GROUP。
其他¶
现在默认启用有关已弃用功能的警告。它们可以通过“-Wno-deprecated”或通过将 CMAKE_WARN_DEPRECATED 变量设置为 false 来抑制。
弃用和删除的功能¶
其他变化¶
Visual Studio 14 2015生成器学会了将/debug:fastlink链接器标志映射到.vcxproj文件属性。FindGTK2模块现在配置GTK2::sigc++导入目标,以便在使用 sigc++ 2.5.1 或更高版本时在其依赖项上启用 c++11。cmake.org上提供的预编译 Windows 二进制文件现在是.msi包,而不是安装程序可执行文件。在安装新包之前,可能需要手动卸载低于 3.5 的 CMake 版本。