CMP0172¶
在版本 3.31 中添加。
CPack 模块在 CPack WIX Generator 中默认启用按计算机安装。
CPack WIX Generator 的 CPACK_WIX_INSTALL_SCOPE 选项控制生成的 Windows Installer 包的作用域。当 CPACK_WIX_VERSION 设置为 4 或更高版本时,默认作用域为 perMachine。但是,在使用 WIX 3 时,默认作用域为 NONE,CPack 不会在包规范中设置任何 InstallScope。生成的安装程序需要管理员权限,并安装到系统范围的 ProgramFiles 目录,但开始菜单项和卸载程序注册仅为当前用户创建。
CMake 3.30 及更早版本的 CPack 模块默认不指定任何 CPACK_WIX_INSTALL_SCOPE 值,因此 CPack 在使用 WIX 3 时默认不使用任何安装作用域。CMake 3.31 及更高版本则默认将 CPACK_WIX_INSTALL_SCOPE 设置为 perMachine,以使所有 WIX 版本的行为保持一致。此策略为未更新为期望 perMachine 行为的项目提供了兼容性。
此策略的 OLD 行为是默认不设置 CPACK_WIX_INSTALL_SCOPE。此策略的 NEW 行为是默认将 CPACK_WIX_INSTALL_SCOPE 设置为 perMachine。
此策略引入于 CMake 版本 3.31。它可以由 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 默认不发出警告,并使用 OLD 行为。
有关控制警告的 CMAKE_POLICY_WARNING_CMP0172 变量的文档。
注意
策略的 OLD 行为 根据定义已被弃用,并可能在未来的 CMake 版本中被移除。