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