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 中移除。