summaryrefslogtreecommitdiffstats
path: root/Help/cpack_gen/productbuild.rst
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2022-04-29 07:43:03 (GMT)
committerCraig Scott <craig.scott@crascit.com>2022-04-29 14:28:05 (GMT)
commitd099136addaf5e9672e892ad2cb1c43809f7174b (patch)
tree21fba5692c4e988cb27ef19e2086386ce73d0864 /Help/cpack_gen/productbuild.rst
parent74c4762a3884ac938106d412a5ea8ea7b248f9ca (diff)
downloadCMake-d099136addaf5e9672e892ad2cb1c43809f7174b.zip
CMake-d099136addaf5e9672e892ad2cb1c43809f7174b.tar.gz
CMake-d099136addaf5e9672e892ad2cb1c43809f7174b.tar.bz2
productbuild: Restore CPACK_PACKAGEMAKER_CHOICES variable
In 2a8df7e7db (productbuild: Don't write rootVolumeOnly attribute if writing domains, 2022-03-21), the variable holding the main contents of the distribution.dist XML file was renamed from CPACK_PACKAGEMAKER_CHOICES to CPACK_APPLE_PKG_INSTALLER_CONTENT. This reflected the fact that the PackageMaker generator is deprecated. The new variable also includes more details than the old one held. Some projects were relying on the old variable name, so we need to still set that to the same contents as it would have previously provided. Neither of these variables were previously documented, but the older variable was mentioned in enough semi-official places that it essentially became semi-supported. Document both variables and highlight that the older one is deprecated. Fixes: #23467
Diffstat (limited to 'Help/cpack_gen/productbuild.rst')
-rw-r--r--Help/cpack_gen/productbuild.rst44
1 files changed, 44 insertions, 0 deletions
diff --git a/Help/cpack_gen/productbuild.rst b/Help/cpack_gen/productbuild.rst
index 26e0782..48a9b44 100644
--- a/Help/cpack_gen/productbuild.rst
+++ b/Help/cpack_gen/productbuild.rst
@@ -203,3 +203,47 @@ installer.
Does the same as :variable:`CPACK_PRODUCTBUILD_BACKGROUND_UTI` option,
but for the dark theme.
+
+Distribution XML Template
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+CPack uses a template file to generate the ``distribution.dist`` file used
+internally by this package generator. Ordinarily, CMake provides the template
+file, but projects may supply their own by placing a file called
+``CPack.distribution.dist.in`` in one of the directories listed in the
+:variable:`CMAKE_MODULE_PATH` variable. CPack will then pick up the project's
+template file instead of using its own.
+
+The ``distribution.dist`` file is generated by performing substitutions
+similar to the :command:`configure_file` command. Any variable set when
+CPack runs will be available for substitution using the usual ``@...@``
+form. The following variables are also set internally and made available for
+substitution:
+
+``CPACK_RESOURCE_FILE_LICENSE_NOPATH``
+ Same as :variable:`CPACK_RESOURCE_FILE_LICENSE` except without the path.
+ The named file will be available in the same directory as the generated
+ ``distribution.dist`` file.
+
+``CPACK_RESOURCE_FILE_README_NOPATH``
+ Same as :variable:`CPACK_RESOURCE_FILE_README` except without the path.
+ The named file will be available in the same directory as the generated
+ ``distribution.dist`` file.
+
+``CPACK_RESOURCE_FILE_WELCOME_NOPATH``
+ Same as :variable:`CPACK_RESOURCE_FILE_WELCOME` except without the path.
+ The named file will be available in the same directory as the generated
+ ``distribution.dist`` file.
+
+``CPACK_APPLE_PKG_INSTALLER_CONTENT``
+ .. versionadded:: 3.23
+
+ This contains all the XML elements that specify installer-wide options
+ (including domain details), default backgrounds and the choices outline.
+
+``CPACK_PACKAGEMAKER_CHOICES``
+ .. deprecated:: 3.23
+
+ This contains only the XML elements that specify the default backgrounds
+ and the choices outline. It does not include the installer-wide options or
+ any domain details. Use ``CPACK_APPLE_PKG_INSTALLER_CONTENT`` instead.