CPack DragNDrop Generator

The DragNDrop CPack generator (macOS) creates a DMG image.

Variables specific to CPack DragNDrop generator

The following variables are specific to the DragNDrop installers built on macOS:

CPACK_DMG_VOLUME_NAME

The volume name of the generated disk image.

Default:

CPACK_PACKAGE_FILE_NAME

CPACK_DMG_FORMAT

The disk image format.

Default:

UDZO

Common values are UDRO (UDIF read-only), UDZO (UDIF zlib-compressed) or UDBZ (UDIF bzip2-compressed). Refer to hdiutil(1) for more information on other available formats.

CPACK_DMG_DS_STORE

Path to a custom .DS_Store file. This .DS_Store file can be used to specify the Finder window position/geometry and layout (such as hidden toolbars, placement of the icons etc.). This file has to be generated by the Finder (either manually or through AppleScript) using a normal folder from which the .DS_Store file can then be extracted.

CPACK_DMG_DS_STORE_SETUP_SCRIPT

New in version 3.5.

Path to a custom AppleScript file. This AppleScript is used to generate a .DS_Store file which specifies the Finder window position/geometry and layout (such as hidden toolbars, placement of the icons etc.). By specifying a custom AppleScript there is no need to use CPACK_DMG_DS_STORE, as the .DS_Store that is generated by the AppleScript will be packaged.

CPACK_DMG_BACKGROUND_IMAGE
Default:

Path to an image file to be used as the background. This file will be copied to .background/background.<ext>, where <ext> is the original image file extension. The background image is installed into the image before CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is installed. By default no background image is set.

New in version 3.6.

Default behavior is to include a symlink to /Applications in the DMG. Set this option to ON to avoid adding the symlink.

CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE

New in version 3.23.

Default:

OFF

Control whether CPACK_RESOURCE_FILE_LICENSE, if set to a non-default value, is used as the license agreement provided when mounting the DMG. If CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE is not set, cpack(1) defaults to off.

In a CMake project that uses the CPack module to generate CPackConfig.cmake, CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE must be explicitly enabled by the project to activate the SLA. See policy CMP0133.

Note

This option was added in response to macOS 12.0's deprecation of the hdiutil udifrez command to make its use optional. CPack 3.22 and below always use CPACK_RESOURCE_FILE_LICENSE, if set to a non-default value, as the DMG license.

CPACK_DMG_SLA_DIR

New in version 3.5.

Directory where license and menu files for different languages are stored. Setting this causes CPack to look for a <language>.menu.txt and <language>.license.txt or <language>.license.rtf file for every language defined in CPACK_DMG_SLA_LANGUAGES. If both this variable and CPACK_RESOURCE_FILE_LICENSE are set, CPack will only look for the menu files and use the same license file for all languages. If both <language>.license.txt and <language>.license.rtf exist, the .txt file will be used.

New in version 3.17: RTF support.

CPACK_DMG_SLA_LANGUAGES

New in version 3.5.

Languages for which a license agreement is provided when mounting the generated DMG. A menu file consists of 9 lines of text. The first line is is the name of the language itself, uppercase, in English (e.g. German). The other lines are translations of the following strings:

  • Agree

  • Disagree

  • Print

  • Save...

  • You agree to the terms of the License Agreement when you click the "Agree" button.

  • Software License Agreement

  • This text cannot be saved. The disk may be full or locked, or the file may be locked.

  • Unable to print. Make sure you have selected a printer.

For every language in this list, CPack will try to find files <language>.menu.txt and <language>.license.txt in the directory specified by the CPACK_DMG_SLA_DIR variable.

CPACK_DMG_<component>_FILE_NAME

New in version 3.17.

File name when packaging <component> as its own DMG (CPACK_COMPONENTS_GROUPING set to IGNORE).

Default:

CPACK_PACKAGE_FILE_NAME-<component>

CPACK_DMG_FILESYSTEM

New in version 3.21.

Default:

HFS+

The filesystem format. Common values are APFS and HFS+. See man hdiutil for a full list of supported formats.

CPACK_COMMAND_HDIUTIL

Path to the hdiutil(1) command used to operate on disk image files on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).

CPACK_COMMAND_SETFILE

Path to the SetFile(1) command used to set extended attributes on files and directories on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).

CPACK_COMMAND_REZ

Path to the Rez(1) command used to compile resources on macOS. This variable can be used to override the automatically detected command (or specify its location if the auto-detection fails to find it).