summaryrefslogtreecommitdiff
path: root/Help/cpack_gen/dmg.rst
blob: b4ef5a2cc8e4ac4240e34cf7bdc9b24306b09c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
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:

.. variable:: CPACK_DMG_VOLUME_NAME

 The volume name of the generated disk image. Defaults to
 CPACK_PACKAGE_FILE_NAME.

.. variable:: CPACK_DMG_FORMAT

 The disk image format. 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. Defaults to ``UDZO``.

.. variable:: 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.

.. variable:: CPACK_DMG_DS_STORE_SETUP_SCRIPT

 .. versionadded:: 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.

.. variable:: CPACK_DMG_BACKGROUND_IMAGE

 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.

.. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK

 .. versionadded:: 3.6

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

.. variable:: CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE

 .. versionadded:: 3.23

 Control whether :variable:`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, :manual:`cpack(1)` defaults to off.

 In a CMake project that uses the :module:`CPack` module to generate
 ``CPackConfig.cmake``, ``CPACK_DMG_SLA_USE_RESOURCE_FILE_LICENSE``
 is automatically enabled by default if it is not set and
 :variable:`CPACK_RESOURCE_FILE_LICENSE` is set to a non-default value.

 .. 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 :variable:`CPACK_RESOURCE_FILE_LICENSE`,
  if set to a non-default value, as the DMG license.

.. variable:: CPACK_DMG_SLA_DIR

  .. versionadded:: 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.

  .. versionadded:: 3.17
    RTF support.

.. variable:: CPACK_DMG_SLA_LANGUAGES

  .. versionadded:: 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 :variable:`CPACK_DMG_SLA_DIR` variable.

.. variable:: CPACK_DMG_<component>_FILE_NAME

 .. versionadded:: 3.17

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

 - Default: ``CPACK_PACKAGE_FILE_NAME-<component>``

.. variable:: CPACK_DMG_FILESYSTEM

 .. versionadded:: 3.21

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

.. variable:: 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).

.. variable:: 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).

.. variable:: 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).