CMake 3.5 发布说明¶
3.4 之后的 CMake 更改包括以下内容。
新功能¶
GUI¶
cmake-gui(1)
添加了控制有关已弃用功能的警告的选项。cmake-gui(1)
获得用于设置工具集以在 VS IDE 和 Xcode 生成器中使用的选项,类似于现有的-T
cmake(1)
选项。cmake-gui(1)
获得了一个正则表达式浏览器,可用于实时创建和评估正则表达式。浏览器窗口可通过工具
菜单获取。
命令行¶
命令¶
cmake_parse_arguments()
命令现在已以本机方式实现。CMakeParseArguments
模块将作为一个用于保持兼容性的空占位符。install(DIRECTORY)
命令已学会支持目录列表中的generator expressions
。
变量¶
现在可以使用
-Werror=deprecated
和-Wno-error=deprecated
cmake(1)
选项来设置CMAKE_ERROR_DEPRECATED
变量。现在可以使用
-Wdeprecated
和-Wno-deprecated
cmake(1)
选项来设置CMAKE_WARN_DEPRECATED
变量。
属性¶
现在针对 VS 2010 及更高版本实现了
VS_GLOBAL_<variable>
目标属性。以前它仅在 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
模块现在提供导入目标。
平台¶
添加了对 ARM 编译器 (arm.com) 的支持,编译器 ID 为
ARMCC
。添加了一个用于在 Cray Linux 环境中交叉编译并针对计算节点的全新平台文件。有关用法详细信息,请参见 在 Cray Linux 环境中交叉编译。
Compile Features
功能现在了解 Windows (MinGW) 上的 Clang 编译器支持的功能。在为 iOS 等嵌入式 Apple 平台构建时,CMake 已学会构建和安装组合目标,该目标包含设备构建和模拟器构建。可以通过设置
IOS_INSTALL_COMBINED
目标属性来启用此行为。
CPack¶
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 时向其显示。有关详细信息,请参阅变量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_<component>_PACKAGE_NAME
和CPACK_RPM_<component>_PACKAGE_GROUP
。
其他¶
有关已弃用功能的警告现已默认处于启用状态。可使用
-Wno-deprecated
或将CMAKE_WARN_DEPRECATED
变量设置为 false 来禁止它们。
已弃用和已删除的功能¶
其他更改¶
Visual Studio 14 2015
生成器已学会将/debug:fastlink
链接器标志映射到.vcxproj
文件属性。FindGTK2
模块现在配置GTK2::sigc++
导入目标,以在其依赖项中启用 c++11,前提是使用 2.5.1 或更高版本的 sigc++。cmake.org
上提供的预编译 Windows 二进制文件现在是一个.msi
包,而不是安装程序可执行文件。在安装新软件包之前,可能需要手动卸载低于 3.5 的 CMake 版本。