CMP0161¶
在版本 3.29 中添加。
CPACK_PRODUCTBUILD_DOMAINS 变量默认值为 true。
在 CMake 3.29 之前,CPACK_PRODUCTBUILD_DOMAINS 变量默认未设置。当使用 CPack productbuild 生成器 时,这会禁用 productbuild 分发 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 版本中被移除。