CMP0161

在版本 3.29 中添加。

CPACK_PRODUCTBUILD_DOMAINS 变量默认值为 true。

在 CMake 3.29 之前,CPACK_PRODUCTBUILD_DOMAINS 变量默认未设置。当使用 CPack productbuild 生成器 时,这会禁用 productbuild Distribution XML 中 domains 属性的使用,而是回退到使用 auth 属性。这些属性控制 productbuild 包允许安装的位置。但是 auth 属性已被 Apple 弃用,因此项目应迁移到使用 domains

CMake 3.29 及更高版本倾向于为 CPACK_PRODUCTBUILD_DOMAINS 使用默认值 true,这意味着除非项目显式将 CPACK_PRODUCTBUILD_DOMAINS 设置为 false,否则默认使用 domains。此策略提供了与已启用 CPack productbuild 生成器 但未显式设置 CPACK_PRODUCTBUILD_DOMAINS 的项目的兼容性。

此策略的 OLD 行为是在未设置 CPACK_PRODUCTBUILD_DOMAINS 的情况下保持未设置。此策略的 NEW 行为是为 CPACK_PRODUCTBUILD_DOMAINS 使用默认值 true。

此策略在 CMake 版本 3.29 中引入。它可以通过 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 会发出警告并使用 OLD 行为。

请注意,仅当 CPACK_BINARY_PRODUCTBUILD 变量设置为 true 并且项目是为 Apple 平台构建时,才会发出警告。

注意

策略的 OLD 行为是 按定义弃用 ,并且可能会在未来的 CMake 版本中被移除。