summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-01-14 16:40:23 (GMT)
committerBrad King <brad.king@kitware.com>2022-01-18 20:39:51 (GMT)
commit9e38bfa915c142edcf7d6e154fa1dc10bba400f1 (patch)
treea3ebdbd672c3fba3be1d107e93b60152254fdb96 /Modules
parent542ba6ac1a50c3900457431819e5eb328f3a29ee (diff)
downloadCMake-9e38bfa915c142edcf7d6e154fa1dc10bba400f1.zip
CMake-9e38bfa915c142edcf7d6e154fa1dc10bba400f1.tar.gz
CMake-9e38bfa915c142edcf7d6e154fa1dc10bba400f1.tar.bz2
CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLA
Since macOS 12.0, the ``hdiutil udifrez`` and ``hdiutil udifderez`` commands to embed and extract resources in a disk image are deprecated. The CPack DragNDrop Generator uses these to attach the SLA specified by the `CPACK_RESOURCE_FILE_LICENSE` option. Since that option is shared by multiple CPack generators, we cannot deprecate it. Instead, add an explicit option to control the behavior. This will give projects a way to package on future macOS versions that remove the commands. In order to provide a long-term transition away from attaching SLAs to disk images, update `cpack` to default this behavior to OFF. To retain compatibility for CMake projects, teach the CPack module to default the option to ON. Later a policy can be added to change the default. Issue: #22978
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CPack.cmake5
1 files changed, 5 insertions, 0 deletions
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index 50a9525..6650f7c 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -805,6 +805,11 @@ _cpack_set_default(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
_cpack_set_default(CPACK_NSIS_INSTALLER_ICON_CODE "")
_cpack_set_default(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
+# DragNDrop specific variables
+if(CPACK_RESOURCE_FILE_LICENSE AND NOT CPACK_RESOURCE_FILE_LICENSE STREQUAL "${CMAKE_ROOT}/Templates/CPack.GenericLicense.txt")
+ _cpack_set_default(CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE ON)
+endif()
+
# WiX specific variables
_cpack_set_default(CPACK_WIX_SIZEOF_VOID_P "${CMAKE_SIZEOF_VOID_P}")