New in version 3.29.

The CPACK_PRODUCTBUILD_DOMAINS variable defaults to true.

Before CMake 3.29, the CPACK_PRODUCTBUILD_DOMAINS variable is unset by default. When using the CPack productbuild Generator, this disables the use of the domains attribute in the productbuild Distribution XML, and falls back to the auth attribute instead. These attributes control where a productbuild package is allowed to be installed. But the auth attribute has been deprecated by Apple, so projects should migrate to using domains instead.

CMake 3.29 and above prefer to use a default value of true for CPACK_PRODUCTBUILD_DOMAINS, which means domains will be used by default unless the project explicitly sets CPACK_PRODUCTBUILD_DOMAINS to false. This policy provides compatibility with projects that enabled the CPack productbuild Generator, but did not explicitly set CPACK_PRODUCTBUILD_DOMAINS.

The OLD behavior for this policy is to leave CPACK_PRODUCTBUILD_DOMAINS unset if it hasn't been set. The NEW behavior for this policy is to use a default value of true for CPACK_PRODUCTBUILD_DOMAINS.

This policy was introduced in CMake version 3.29. It may be set by cmake_policy() or cmake_minimum_required(). If it is not set, CMake warns, and uses OLD behavior.

Note that a warning will only be emitted if the CPACK_BINARY_PRODUCTBUILD variable is set to true and the project is being built for an Apple platform.


The OLD behavior of a policy is deprecated by definition and may be removed in a future version of CMake.