CMP0161

自 3.29 版起添加。

CPACK_PRODUCTBUILD_DOMAINS 变量默认值为 true。

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

CMake 3.29 及更高版本更喜欢对 CPACK_PRODUCTBUILD_DOMAINS 使用 true 的默认值,这意味着在项目未明确将 CPACK_PRODUCTBUILD_DOMAINS 设置为 false 之前,默认情况下将使用 domains。此策略与启用了 CPack productbuild Generator 但未明确设置 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 版本中删除。