Back to Cmake

CMP0161

Help/policy/CMP0161.rst

4.3.21.6 KB
Original Source

CMP0161

.. versionadded:: 3.29

The :variable:CPACK_PRODUCTBUILD_DOMAINS variable defaults to true.

Before CMake 3.29, the :variable:CPACK_PRODUCTBUILD_DOMAINS variable is unset by default. When using the :cpack_gen: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 :variable:CPACK_PRODUCTBUILD_DOMAINS, which means domains will be used by default unless the project explicitly sets :variable:CPACK_PRODUCTBUILD_DOMAINS to false. This policy provides compatibility with projects that enabled the :cpack_gen:CPack productbuild Generator, but did not explicitly set :variable:CPACK_PRODUCTBUILD_DOMAINS.

The OLD behavior for this policy is to leave :variable: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 :variable:CPACK_PRODUCTBUILD_DOMAINS.

.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.29 .. |WARNS_OR_DOES_NOT_WARN| replace:: warns .. include:: include/STANDARD_ADVICE.rst Note that a warning will only be emitted if the :variable:CPACK_BINARY_PRODUCTBUILD <CPACK_BINARY_<GENNAME>> variable is set to true and the project is being built for an Apple platform.

.. include:: include/DEPRECATED.rst