summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/command/add_custom_target.rst2
-rw-r--r--Help/command/cmake_parse_arguments.rst2
-rw-r--r--Help/command/ctest_build.rst2
-rw-r--r--Help/command/ctest_start.rst2
-rw-r--r--Help/command/export.rst4
-rw-r--r--Help/command/file.rst8
-rw-r--r--Help/command/get_filename_component.rst2
-rw-r--r--Help/command/if.rst2
-rw-r--r--Help/command/install.rst2
-rw-r--r--Help/command/mark_as_advanced.rst2
-rw-r--r--Help/command/string.rst2
-rw-r--r--Help/command/target_sources.rst2
-rw-r--r--Help/command/try_compile.rst6
-rw-r--r--Help/cpack_gen/archive.rst11
-rw-r--r--Help/cpack_gen/bundle.rst10
-rw-r--r--Help/cpack_gen/cygwin.rst4
-rw-r--r--Help/cpack_gen/deb.rst111
-rw-r--r--Help/cpack_gen/dmg.rst13
-rw-r--r--Help/cpack_gen/external.rst4
-rw-r--r--Help/cpack_gen/freebsd.rst8
-rw-r--r--Help/cpack_gen/ifw.rst70
-rw-r--r--Help/cpack_gen/nsis.rst23
-rw-r--r--Help/cpack_gen/nuget.rst29
-rw-r--r--Help/cpack_gen/packagemaker.rst8
-rw-r--r--Help/cpack_gen/productbuild.rst20
-rw-r--r--Help/cpack_gen/rpm.rst86
-rw-r--r--Help/cpack_gen/wix.rst40
-rw-r--r--Help/generator/CodeBlocks.rst11
-rw-r--r--Help/generator/CodeLite.rst8
-rw-r--r--Help/generator/Green Hills MULTI.rst43
-rw-r--r--Help/generator/NMake Makefiles JOM.rst3
-rw-r--r--Help/generator/Ninja.rst45
-rw-r--r--Help/generator/VS_TOOLSET_HOST_ARCH.txt18
-rw-r--r--Help/generator/Visual Studio 10 2010.rst15
-rw-r--r--Help/generator/Visual Studio 11 2012.rst19
-rw-r--r--Help/generator/Visual Studio 12 2013.rst15
-rw-r--r--Help/generator/Visual Studio 14 2015.rst2
-rw-r--r--Help/generator/Visual Studio 15 2017.rst26
-rw-r--r--Help/generator/Visual Studio 9 2008.rst19
-rw-r--r--Help/generator/Xcode.rst15
40 files changed, 565 insertions, 149 deletions
diff --git a/Help/command/add_custom_target.rst b/Help/command/add_custom_target.rst
index e490b18..7c29dda 100644
--- a/Help/command/add_custom_target.rst
+++ b/Help/command/add_custom_target.rst
@@ -107,7 +107,7 @@ The options are:
(``CMakeLists.txt`` file). They will be brought up to date when
the target is built.
- .. versionadded:: 3.16
+ .. versionchanged:: 3.16
A target-level dependency is added if any dependency is a byproduct
of a target or any of its build events in the same directory to ensure
the byproducts will be available before this target is built.
diff --git a/Help/command/cmake_parse_arguments.rst b/Help/command/cmake_parse_arguments.rst
index 824b7dd..8dedc80 100644
--- a/Help/command/cmake_parse_arguments.rst
+++ b/Help/command/cmake_parse_arguments.rst
@@ -41,7 +41,7 @@ The ``<multi_value_keywords>`` argument contains all keywords for this
macro which can be followed by more than one value, like e.g. the
``TARGETS`` or ``FILES`` keywords of the :command:`install` command.
-.. versionadded:: 3.5
+.. versionchanged:: 3.5
All keywords shall be unique. I.e. every keyword shall only be specified
once in either ``<options>``, ``<one_value_keywords>`` or
``<multi_value_keywords>``. A warning will be emitted if uniqueness is
diff --git a/Help/command/ctest_build.rst b/Help/command/ctest_build.rst
index 851cd7c..4d6dc5a 100644
--- a/Help/command/ctest_build.rst
+++ b/Help/command/ctest_build.rst
@@ -52,7 +52,7 @@ The options are:
``PROJECT_NAME <project-name>``
Ignored since CMake 3.0.
- .. versionadded:: 3.14
+ .. versionchanged:: 3.14
This value is no longer required.
``TARGET <target-name>``
diff --git a/Help/command/ctest_start.rst b/Help/command/ctest_start.rst
index f59aad5..c0f3c6d 100644
--- a/Help/command/ctest_start.rst
+++ b/Help/command/ctest_start.rst
@@ -31,7 +31,7 @@ The parameters are as follows:
CDash server. If no ``GROUP`` is specified, the name of the model is used by
default.
- .. versionadded:: 3.16
+ .. versionchanged:: 3.16
This replaces the deprecated option ``TRACK``. Despite the name
change its behavior is unchanged.
diff --git a/Help/command/export.rst b/Help/command/export.rst
index f02dd2c..e8a1fa7 100644
--- a/Help/command/export.rst
+++ b/Help/command/export.rst
@@ -64,11 +64,11 @@ build tree. In some cases, for example for packaging and for system
wide installations, it is not desirable to write the user package
registry.
-.. versionadded:: 3.1
+.. versionchanged:: 3.1
If the :variable:`CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable
is enabled, the ``export(PACKAGE)`` command will do nothing.
-.. versionadded:: 3.15
+.. versionchanged:: 3.15
By default the ``export(PACKAGE)`` command does nothing (see policy
:policy:`CMP0090`) because populating the user package registry has effects
outside the source and build trees. Set the
diff --git a/Help/command/file.rst b/Help/command/file.rst
index a673357..9580c9c 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -497,7 +497,7 @@ from the input content to produce the output content. The options are:
``INPUT <input-file>``
Use the content from a given file as input.
- .. versionadded:: 3.10
+ .. versionchanged:: 3.10
A relative path is treated with respect to the value of
:variable:`CMAKE_CURRENT_SOURCE_DIR`. See policy :policy:`CMP0070`.
@@ -508,7 +508,7 @@ from the input content to produce the output content. The options are:
if the generated content is identical. Otherwise, the ``<output-file>``
must evaluate to an unique name for each configuration.
- .. versionadded:: 3.10
+ .. versionchanged:: 3.10
A relative path (after evaluating generator expressions) is treated
with respect to the value of :variable:`CMAKE_CURRENT_BINARY_DIR`.
See policy :policy:`CMP0070`.
@@ -591,7 +591,7 @@ regular expressions, but much simpler. If ``RELATIVE`` flag is
specified, the results will be returned as relative paths to the given
path.
-.. versionadded:: 3.6
+.. versionchanged:: 3.6
The results will be ordered lexicographically.
On Windows and macOS, globbing is case-insensitive even if the underlying
@@ -662,7 +662,7 @@ files and directories, also non-empty directories. No error is emitted if a
given file does not exist. Relative input paths are evaluated with respect
to the current source directory.
-.. versionadded:: 3.15
+.. versionchanged:: 3.15
Empty input paths are ignored with a warning. Previous versions of CMake
interpreted empty string as a relative path with respect to the current
directory and removed its contents.
diff --git a/Help/command/get_filename_component.rst b/Help/command/get_filename_component.rst
index 546e353..e073a28 100644
--- a/Help/command/get_filename_component.rst
+++ b/Help/command/get_filename_component.rst
@@ -3,7 +3,7 @@ get_filename_component
Get a specific component of a full filename.
-.. versionadded:: 3.19
+.. versionchanged:: 3.19
This command been superseded by :command:`cmake_path` command, except
``REALPATH`` now offered by :ref:`file(REAL_PATH) <REAL_PATH>` command and
``PROGRAM`` now available in :command:`separate_arguments(PROGRAM)` command.
diff --git a/Help/command/if.rst b/Help/command/if.rst
index 3b01463..72d328d 100644
--- a/Help/command/if.rst
+++ b/Help/command/if.rst
@@ -281,7 +281,7 @@ above-documented condition syntax accepts ``<variable|string>``:
tested to see if they are boolean constants, if so they are used as
such, otherwise they are assumed to be variables and are dereferenced.
-.. versionadded:: 3.1
+.. versionchanged:: 3.1
To prevent ambiguity, potential variable or keyword names can be
specified in a :ref:`Quoted Argument` or a :ref:`Bracket Argument`.
A quoted or bracketed variable or keyword will be interpreted as a
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 324e0c5..bd8da39 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -22,7 +22,7 @@ This command generates installation rules for a project. Install rules
specified by calls to the ``install()`` command within a source directory
are executed in order during installation.
-.. versionadded:: 3.14
+.. versionchanged:: 3.14
Install rules in subdirectories
added by calls to the :command:`add_subdirectory` command are interleaved
with those in the parent directory to run in the order declared (see
diff --git a/Help/command/mark_as_advanced.rst b/Help/command/mark_as_advanced.rst
index 2631f1d..201363f 100644
--- a/Help/command/mark_as_advanced.rst
+++ b/Help/command/mark_as_advanced.rst
@@ -23,6 +23,6 @@ new values will be marked as advanced, but if a
variable already has an advanced/non-advanced state,
it will not be changed.
-.. versionadded:: 3.17
+.. versionchanged:: 3.17
Variables passed to this command which are not already in the cache
are ignored. See policy :policy:`CMP0102`.
diff --git a/Help/command/string.rst b/Help/command/string.rst
index 9b459b4..178d9d3 100644
--- a/Help/command/string.rst
+++ b/Help/command/string.rst
@@ -281,7 +281,7 @@ Store in an ``<output_variable>`` a substring of a given ``<string>``. If
``<length>`` is ``-1`` the remainder of the string starting at ``<begin>``
will be returned.
-.. versionadded:: 3.2
+.. versionchanged:: 3.2
If ``<string>`` is shorter than ``<length>`` then the end of the string
is used instead. Previous versions of CMake reported an error in this case.
diff --git a/Help/command/target_sources.rst b/Help/command/target_sources.rst
index eb147ee..520614a 100644
--- a/Help/command/target_sources.rst
+++ b/Help/command/target_sources.rst
@@ -17,7 +17,7 @@ The named ``<target>`` must have been created by a command such as
:command:`add_custom_target` and must not be an
:ref:`ALIAS target <Alias Targets>`.
-.. versionadded:: 3.13
+.. versionchanged:: 3.13
Relative source file paths are interpreted as being relative to the current
source directory (i.e. :variable:`CMAKE_CURRENT_SOURCE_DIR`).
See policy :policy:`CMP0076`.
diff --git a/Help/command/try_compile.rst b/Help/command/try_compile.rst
index 57d3ae7..06da910 100644
--- a/Help/command/try_compile.rst
+++ b/Help/command/try_compile.rst
@@ -162,7 +162,7 @@ Other Behavior Settings
If :policy:`CMP0056` is set to ``NEW``, then
:variable:`CMAKE_EXE_LINKER_FLAGS` is passed in as well.
-.. versionadded:: 3.14
+.. versionchanged:: 3.14
If :policy:`CMP0083` is set to ``NEW``, then in order to obtain correct
behavior at link time, the ``check_pie_supported()`` command from the
:module:`CheckPIESupported` module must be called before using the
@@ -185,7 +185,7 @@ a build configuration.
``try_compile()`` command for the source files form, not when given a whole
project.
-.. versionadded:: 3.8
+.. versionchanged:: 3.8
If :policy:`CMP0067` is set to ``NEW``, or any of the ``<LANG>_STANDARD``,
``<LANG>_STANDARD_REQUIRED``, or ``<LANG>_EXTENSIONS`` options are used,
then the language standard variables are honored:
@@ -209,6 +209,6 @@ a build configuration.
Their values are used to set the corresponding target properties in
the generated project (unless overridden by an explicit option).
-.. versionadded:: 3.14
+.. versionchanged:: 3.14
For the :generator:`Green Hills MULTI` generator the GHS toolset and target
system customization cache variables are also propagated into the test project.
diff --git a/Help/cpack_gen/archive.rst b/Help/cpack_gen/archive.rst
index 3656aa2..98b24ea 100644
--- a/Help/cpack_gen/archive.rst
+++ b/Help/cpack_gen/archive.rst
@@ -12,6 +12,12 @@ any of the following formats:
- TZST (.tar.zst)
- ZIP (.zip)
+.. versionadded:: 3.1
+ ``7Z`` and ``TXZ`` formats support.
+
+.. versionadded:: 3.16
+ ``TZST`` format support.
+
When this generator is called from ``CPackSourceConfig.cmake`` (or through
the ``package_source`` target), then the generated archive will contain all
files in the project directory, except those specified in
@@ -46,6 +52,9 @@ Variables specific to CPack Archive generator
The default is ``<CPACK_PACKAGE_FILE_NAME>[-<component>]``, with spaces
replaced by '-'.
+ .. versionadded:: 3.9
+ Per-component ``CPACK_ARCHIVE_<component>_FILE_NAME`` variables.
+
.. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
Enable component packaging. If enabled (ON), then the archive generator
@@ -63,6 +72,8 @@ CPack generators which are essentially archives at their core. These include:
.. variable:: CPACK_ARCHIVE_THREADS
+ .. versionadded:: 3.18
+
The number of threads to use when performing the compression. If set to
``0``, the number of available cores on the machine will be used instead.
The default is ``1`` which limits compression to a single thread. Note that
diff --git a/Help/cpack_gen/bundle.rst b/Help/cpack_gen/bundle.rst
index b16dbda..5e335c0 100644
--- a/Help/cpack_gen/bundle.rst
+++ b/Help/cpack_gen/bundle.rst
@@ -36,6 +36,8 @@ Bundle-specific parameters (``CPACK_BUNDLE_xxx``).
.. variable:: CPACK_BUNDLE_APPLE_CERT_APP
+ .. versionadded:: 3.2
+
The name of your Apple supplied code signing certificate for the application.
The name usually takes the form ``Developer ID Application: [Name]`` or
``3rd Party Mac Developer Application: [Name]``. If this variable is not set
@@ -43,23 +45,31 @@ Bundle-specific parameters (``CPACK_BUNDLE_xxx``).
.. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
+ .. versionadded:: 3.2
+
The name of the Property List (``.plist``) file that contains your Apple
entitlements for sandboxing your application. This file is required
for submission to the macOS App Store.
.. variable:: CPACK_BUNDLE_APPLE_CODESIGN_FILES
+ .. versionadded:: 3.2
+
A list of additional files that you wish to be signed. You do not need to
list the main application folder, or the main executable. You should
list any frameworks and plugins that are included in your app bundle.
.. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
+ .. versionadded:: 3.3
+
Additional parameter that will passed to ``codesign``.
Default value: ``--deep -f``
.. variable:: CPACK_COMMAND_CODESIGN
+ .. versionadded:: 3.2
+
Path to the ``codesign(1)`` command used to sign applications with an
Apple cert. This variable can be used to override the automatically
detected command (or specify its location if the auto-detection fails
diff --git a/Help/cpack_gen/cygwin.rst b/Help/cpack_gen/cygwin.rst
index c65653e..c537a79 100644
--- a/Help/cpack_gen/cygwin.rst
+++ b/Help/cpack_gen/cygwin.rst
@@ -6,7 +6,9 @@ Cygwin CPack generator (Cygwin).
Variables affecting the CPack Cygwin generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- - :variable:`CPACK_ARCHIVE_THREADS`
+- .. versionadded:: 3.18
+ :variable:`CPACK_ARCHIVE_THREADS`
+
Variables specific to CPack Cygwin generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/Help/cpack_gen/deb.rst b/Help/cpack_gen/deb.rst
index bf50c55..8fbefdb 100644
--- a/Help/cpack_gen/deb.rst
+++ b/Help/cpack_gen/deb.rst
@@ -54,11 +54,16 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
for component-based installations.
+ .. versionadded:: 3.5
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME`` variables.
+
See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
.. variable:: CPACK_DEBIAN_FILE_NAME
CPACK_DEBIAN_<COMPONENT>_FILE_NAME
+ .. versionadded:: 3.6
+
Package file name.
* Mandatory : YES
@@ -72,6 +77,9 @@ List of CPack DEB generator specific variables:
Alternatively provided package file name must end
with either ``.deb`` or ``.ipk`` suffix.
+ .. versionadded:: 3.10
+ ``.ipk`` suffix used by OPKG packaging system.
+
.. note::
Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
@@ -86,6 +94,8 @@ List of CPack DEB generator specific variables:
.. variable:: CPACK_DEBIAN_PACKAGE_EPOCH
+ .. versionadded:: 3.10
+
The Debian package epoch
* Mandatory : No
@@ -116,6 +126,8 @@ List of CPack DEB generator specific variables:
.. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
+ .. versionadded:: 3.6
+
The Debian package release - Debian revision number.
* Mandatory : No
@@ -136,6 +148,9 @@ List of CPack DEB generator specific variables:
* Default : Output of ``dpkg --print-architecture`` (or ``i386``
if ``dpkg`` is not found)
+ .. versionadded:: 3.6
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`` variables.
+
.. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
@@ -148,6 +163,10 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
installations.
+
+ .. versionadded:: 3.3
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS`` variables.
+
.. note::
If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
@@ -165,7 +184,9 @@ List of CPack DEB generator specific variables:
.. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
- Sets inter component dependencies if listed with
+ .. versionadded:: 3.6
+
+ Sets inter-component dependencies if listed with
:variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
* Mandatory : NO
@@ -196,6 +217,15 @@ List of CPack DEB generator specific variables:
used if set. Otherwise, :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` will be added as the first
line of description as defined in `Debian Policy Manual`_.
+ .. versionadded:: 3.3
+ Per-component ``CPACK_COMPONENT_<compName>_DESCRIPTION`` variables.
+
+ .. versionadded:: 3.16
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_DESCRIPTION`` variables.
+
+ .. versionadded:: 3.16
+ ``CPACK_PACKAGE_DESCRIPTION_FILE`` variable.
+
.. _Debian Policy Manual: https://www.debian.org/doc/debian-policy/ch-controlfields.html#description
.. variable:: CPACK_DEBIAN_PACKAGE_SECTION
@@ -206,10 +236,17 @@ List of CPack DEB generator specific variables:
* Mandatory : YES
* Default : "devel"
+ .. versionadded:: 3.5
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION`` variables.
+
See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
.. variable:: CPACK_DEBIAN_ARCHIVE_TYPE
+ .. versionadded:: 3.7
+
+ .. deprecated:: 3.14
+
The archive format used for creating the Debian package.
* Mandatory : YES
@@ -228,6 +265,8 @@ List of CPack DEB generator specific variables:
.. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
+ .. versionadded:: 3.1
+
The compression used for creating the Debian package.
* Mandatory : YES
@@ -249,6 +288,9 @@ List of CPack DEB generator specific variables:
* Mandatory : YES
* Default : "optional"
+ .. versionadded:: 3.5
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY`` varables.
+
See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
.. variable:: CPACK_DEBIAN_PACKAGE_HOMEPAGE
@@ -260,6 +302,9 @@ List of CPack DEB generator specific variables:
* Mandatory : NO
* Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
+ .. versionadded:: 3.12
+ ``CMAKE_PROJECT_HOMEPAGE_URL`` variable.
+
.. note::
The content of this field is a simple URL without any surrounding
@@ -284,6 +329,12 @@ List of CPack DEB generator specific variables:
may fail to find your own shared libs.
See https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
+ .. versionadded:: 3.3
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`` variables.
+
+ .. versionadded:: 3.6
+ Correct handling of ``$ORIGIN`` in :variable:`CMAKE_INSTALL_RPATH`.
+
.. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
May be set when invoking cpack in order to trace debug information
@@ -308,6 +359,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS`` variables.
+
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
.. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
@@ -325,6 +379,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES`` variables.
+
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
.. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
@@ -345,6 +402,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS`` variables.
+
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
.. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
@@ -362,6 +422,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS`` variables.
+
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
.. note::
@@ -386,6 +449,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES`` variables.
+
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
.. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
@@ -402,6 +468,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES`` variables.
+
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
.. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
@@ -418,6 +487,9 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS`` variables.
+
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
.. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
@@ -433,10 +505,15 @@ List of CPack DEB generator specific variables:
- :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
installations.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS`` variables.
+
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
+ .. versionadded:: 3.6
+
* Mandatory : NO
* Default : OFF
@@ -451,6 +528,8 @@ List of CPack DEB generator specific variables:
.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
+ .. versionadded:: 3.6
+
Compatibility policy for auto-generated shlibs control file.
* Mandatory : NO
@@ -476,17 +555,14 @@ List of CPack DEB generator specific variables:
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
- .. note::
-
- The original permissions of the files will be used in the final
- package unless the variable
- :variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
- In particular, the scripts should have the proper executable
- flag prior to the generation of the package.
+ .. versionadded:: 3.4
+ Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA`` variables.
.. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
+ .. versionadded:: 3.4
+
This variable indicates if the Debian policy on control files should be
strictly followed.
@@ -497,15 +573,22 @@ List of CPack DEB generator specific variables:
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
+ This overrides the permissions on the original files, following the rules
+ set by Debian policy
+ https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
+
.. note::
- This overrides the permissions on the original files, following the rules
- set by Debian policy
- https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
+ The original permissions of the files will be used in the final
+ package unless this variable is set to ``TRUE``.
+ In particular, the scripts should have the proper executable
+ flag prior to the generation of the package.
.. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
+ .. versionadded:: 3.5
+
Sets the ``Source`` field of the binary Debian package.
When the binary package name is not the same as the source package name
(in particular when several components/binaries are generated from one
@@ -529,6 +612,8 @@ List of CPack DEB generator specific variables:
Packaging of debug information
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.13
+
Dbgsym packages contain debug symbols for debugging packaged binaries.
Dbgsym packaging has its own set of variables:
@@ -549,6 +634,8 @@ Dbgsym packaging has its own set of variables:
Building Debian packages on Windows
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.10
+
To communicate UNIX file permissions from the install stage
to the CPack DEB generator the "cmake_mode_t" NTFS
alternate data stream (ADT) is used.
@@ -559,6 +646,8 @@ permissions can be preserved.
Reproducible packages
^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.13
+
The environment variable ``SOURCE_DATE_EPOCH`` may be set to a UNIX
timestamp, defined as the number of seconds, excluding leap seconds,
since 01 Jan 1970 00:00:00 UTC. If set, the CPack DEB generator will
diff --git a/Help/cpack_gen/dmg.rst b/Help/cpack_gen/dmg.rst
index cede0f2..4c662a6 100644
--- a/Help/cpack_gen/dmg.rst
+++ b/Help/cpack_gen/dmg.rst
@@ -30,6 +30,8 @@ on macOS:
.. 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.).
@@ -47,11 +49,15 @@ on macOS:
.. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
+ .. versionadded:: 3.6
+
Default behaviour is to include a symlink to ``/Applications`` in the DMG.
Set this option to ``ON`` to avoid adding the symlink.
.. 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
@@ -61,8 +67,13 @@ on macOS:
``<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).
@@ -85,6 +96,8 @@ on macOS:
.. variable:: CPACK_DMG_<component>_FILE_NAME
+ .. versionadded:: 3.17
+
File name when packaging ``<component>`` as its own DMG
(``CPACK_COMPONENTS_GROUPING`` set to IGNORE).
diff --git a/Help/cpack_gen/external.rst b/Help/cpack_gen/external.rst
index e54b356..4c083f0 100644
--- a/Help/cpack_gen/external.rst
+++ b/Help/cpack_gen/external.rst
@@ -1,6 +1,8 @@
CPack External Generator
------------------------
+.. versionadded:: 3.13
+
CPack provides many generators to create packages for a variety of platforms
and packaging systems. The intention is for CMake/CPack to be a complete
end-to-end solution for building and packaging a software project. However, it
@@ -284,6 +286,8 @@ Variables specific to CPack External generator
.. variable:: CPACK_EXTERNAL_BUILT_PACKAGES
+ .. versionadded:: 3.19
+
The ``CPACK_EXTERNAL_PACKAGE_SCRIPT`` script may set this list variable to the
full paths of generated package files. CPack will copy these files from the
staging directory back to the top build directory and possibly produce
diff --git a/Help/cpack_gen/freebsd.rst b/Help/cpack_gen/freebsd.rst
index 47a7784..3cfa4a0 100644
--- a/Help/cpack_gen/freebsd.rst
+++ b/Help/cpack_gen/freebsd.rst
@@ -1,12 +1,15 @@
CPack FreeBSD Generator
-----------------------
+.. versionadded:: 3.10
+
The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
Variables affecting the CPack FreeBSD (pkg) generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- - :variable:`CPACK_ARCHIVE_THREADS`
+- .. versionadded:: 3.18
+ :variable:`CPACK_ARCHIVE_THREADS`
Variables specific to CPack FreeBSD (pkg) generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -86,6 +89,9 @@ the RPM information (e.g. package license).
:variable:`CPACK_DEBIAN_PACKAGE_HOMEPAGE` (this may be set already
for Debian packaging, so we may as well re-use it).
+ .. versionadded:: 3.12
+ ``CMAKE_PROJECT_HOMEPAGE_URL`` variable.
+
.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE
The license, or licenses, which apply to this software package. This must
diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst
index 5fbbfa2..3315411 100644
--- a/Help/cpack_gen/ifw.rst
+++ b/Help/cpack_gen/ifw.rst
@@ -1,6 +1,8 @@
CPack IFW Generator
-------------------
+.. versionadded:: 3.1
+
Configure and run the Qt Installer Framework to generate a Qt installer.
.. only:: html
@@ -35,6 +37,8 @@ Debug
.. variable:: CPACK_IFW_VERBOSE
+ .. versionadded:: 3.3
+
Set to ``ON`` to enable addition debug output.
By default is ``OFF``.
@@ -71,41 +75,51 @@ Package
.. variable:: CPACK_IFW_PACKAGE_WATERMARK
+ .. versionadded:: 3.8
+
Filename for a watermark is used as QWizard::WatermarkPixmap.
.. variable:: CPACK_IFW_PACKAGE_BANNER
+ .. versionadded:: 3.8
+
Filename for a banner is used as QWizard::BannerPixmap.
.. variable:: CPACK_IFW_PACKAGE_BACKGROUND
+ .. versionadded:: 3.8
+
Filename for an image used as QWizard::BackgroundPixmap (only used by MacStyle).
.. variable:: CPACK_IFW_PACKAGE_WIZARD_STYLE
- Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
-
-.. variable:: CPACK_IFW_PACKAGE_STYLE_SHEET
+ .. versionadded:: 3.8
- Filename for a stylesheet.
+ Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
.. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
+ .. versionadded:: 3.8
+
Default width of the wizard in pixels. Setting a banner image will override this.
.. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
+ .. versionadded:: 3.8
+
Default height of the wizard in pixels. Setting a watermark image will override this.
.. variable:: CPACK_IFW_PACKAGE_TITLE_COLOR
+ .. versionadded:: 3.8
+
Color of the titles and subtitles (takes an HTML color code, such as "#88FF33").
-.. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
+.. variable:: CPACK_IFW_PACKAGE_STYLE_SHEET
- Name of the default program group for the product in the Windows Start menu.
+ .. versionadded:: 3.15
- By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
+ Filename for a stylesheet.
.. variable:: CPACK_IFW_TARGET_DIRECTORY
@@ -123,6 +137,14 @@ Package
You can use predefined variables.
+.. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
+
+ .. versionadded:: 3.11
+
+ Set to ``OFF`` if the target directory should not be deleted when uninstalling.
+
+ Is ``ON`` by default
+
.. variable:: CPACK_IFW_PACKAGE_GROUP
The group, which will be used to configure the root package
@@ -132,39 +154,51 @@ Package
The root package name, which will be used if configuration group is not
specified
+.. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
+
+ .. versionadded:: 3.3
+
+ Name of the default program group for the product in the Windows Start menu.
+
+ By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
+
.. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
+ .. versionadded:: 3.3
+
Filename of the generated maintenance tool.
The platform-specific executable file extension is appended.
By default used QtIFW defaults (``maintenancetool``).
-.. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
-
- Set to ``OFF`` if the target directory should not be deleted when uninstalling.
-
- Is ``ON`` by default
-
.. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
+ .. versionadded:: 3.3
+
Filename for the configuration of the generated maintenance tool.
By default used QtIFW defaults (``maintenancetool.ini``).
.. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
+ .. versionadded:: 3.3
+
Set to ``ON`` if the installation path can contain non-ASCII characters.
Is ``ON`` for QtIFW less 2.0 tools.
.. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
+ .. versionadded:: 3.3
+
Set to ``OFF`` if the installation path cannot contain space characters.
Is ``ON`` for QtIFW less 2.0 tools.
.. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
+ .. versionadded:: 3.3
+
Filename for a custom installer control script.
.. variable:: CPACK_IFW_PACKAGE_RESOURCES
@@ -177,6 +211,8 @@ Package
.. variable:: CPACK_IFW_PACKAGE_FILE_EXTENSION
+ .. versionadded:: 3.10
+
The target binary extension.
On Linux, the name of the target binary is automatically extended with
@@ -216,6 +252,8 @@ Components
.. variable:: CPACK_IFW_REPOSITORIES_DIRECTORIES
+ .. versionadded:: 3.10
+
Additional prepared repository dirs that will be used to resolve and
repack dependent components. This feature available only
since QtIFW 3.1.
@@ -225,6 +263,8 @@ QtIFW Tools
.. variable:: CPACK_IFW_FRAMEWORK_VERSION
+ .. versionadded:: 3.3
+
The version of used QtIFW tools.
The following variables provide the locations of the QtIFW
@@ -260,6 +300,8 @@ the path may be specified in either a CMake or an environment variable:
.. variable:: CPACK_IFW_ROOT
+ .. versionadded:: 3.9
+
An CMake variable which specifies the location of the QtIFW tool suite.
The variable will be cached in the ``CPackConfig.cmake`` file and used at
@@ -306,6 +348,8 @@ these files accessible from a download URL.
Internationalization
""""""""""""""""""""
+.. versionadded:: 3.9
+
Some variables and command arguments support internationalization via
CMake script. This is an optional feature.
diff --git a/Help/cpack_gen/nsis.rst b/Help/cpack_gen/nsis.rst
index 0dd876e..33198e7 100644
--- a/Help/cpack_gen/nsis.rst
+++ b/Help/cpack_gen/nsis.rst
@@ -3,7 +3,8 @@ CPack NSIS Generator
CPack Nullsoft Scriptable Install System (NSIS) generator specific options.
-The NSIS generator requires NSIS 3.0 or newer.
+.. versionchanged:: 3.17
+ The NSIS generator requires NSIS 3.0 or newer.
Variables specific to CPack NSIS generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -33,10 +34,14 @@ on Windows Nullsoft Scriptable Install System.
.. variable:: CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
+ .. versionadded:: 3.5
+
The filename of a bitmap to use as the NSIS ``MUI_WELCOMEFINISHPAGE_BITMAP``.
.. variable:: CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
+ .. versionadded:: 3.5
+
The filename of a bitmap to use as the NSIS ``MUI_UNWELCOMEFINISHPAGE_BITMAP``.
.. variable:: CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS
@@ -99,6 +104,8 @@ on Windows Nullsoft Scriptable Install System.
.. variable:: CPACK_NSIS_<compName>_INSTALL_DIRECTORY
+ .. versionadded:: 3.7
+
Custom install directory for the specified component ``<compName>`` instead
of ``$INSTDIR``.
@@ -133,29 +140,43 @@ on Windows Nullsoft Scriptable Install System.
.. variable:: CPACK_NSIS_UNINSTALL_NAME
+ .. versionadded:: 3.17
+
Specify the name of the program to uninstall the version.
Default is ``Uninstall``.
.. variable:: CPACK_NSIS_WELCOME_TITLE
+ .. versionadded:: 3.17
+
The title to display on the top of the page for the welcome page.
.. variable:: CPACK_NSIS_WELCOME_TITLE_3LINES
+ .. versionadded:: 3.17
+
Display the title in the welcome page on 3 lines instead of 2.
.. variable:: CPACK_NSIS_FINISH_TITLE
+ .. versionadded:: 3.17
+
The title to display on the top of the page for the finish page.
.. variable:: CPACK_NSIS_FINISH_TITLE_3LINES
+ .. versionadded:: 3.17
+
Display the title in the finish page on 3 lines instead of 2.
.. variable:: CPACK_NSIS_MUI_HEADERIMAGE
+ .. versionadded:: 3.17
+
The image to display on the header of installers pages.
.. variable:: CPACK_NSIS_MANIFEST_DPI_AWARE
+ .. versionadded:: 3.18
+
If set, declares that the installer is DPI-aware.
diff --git a/Help/cpack_gen/nuget.rst b/Help/cpack_gen/nuget.rst
index 39440b0..c980dd6 100644
--- a/Help/cpack_gen/nuget.rst
+++ b/Help/cpack_gen/nuget.rst
@@ -1,6 +1,8 @@
CPack NuGet Generator
---------------------
+.. versionadded:: 3.12
+
When build a NuGet package there is no direct way to control an output
filename due a lack of the corresponding CLI option of NuGet, so there
is no ``CPACK_NUGET_PACKAGE_FILE_NAME`` variable. To form the output filename
@@ -105,13 +107,14 @@ List of CPack NuGet generator specific variables:
.. variable:: CPACK_NUGET_PACKAGE_LICENSEURL
CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
+ .. deprecated:: 3.20
+ Use a local license file
+ (:variable:`CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME`)
+ or a `(SPDX) license identifier`_
+ (:variable:`CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION`) instead.
+
An URL for the package's license, often shown in UI displays as well
- as on nuget.org_. To be deprecated in favor of a reference to a local
- license file (``CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME`` or
- ``CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME``) or a Software
- Package Data Exchange `(SPDX) license identifier`_ or expression
- (``CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION`` or
- ``CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION``)
+ as on nuget.org_.
* Mandatory : NO
* Default : -
@@ -119,6 +122,8 @@ List of CPack NuGet generator specific variables:
.. variable:: CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION
CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION
+ .. versionadded:: 3.20
+
A Software Package Data Exchange `(SPDX) license identifier`_ such as
``MIT``, ``BSD-3-Clause``, or ``LGPL-3.0-or-later``. In the case of a
choice of licenses or more complex restrictions, compound license
@@ -140,15 +145,19 @@ List of CPack NuGet generator specific variables:
If ``CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME`` is specified,
``CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION`` is ignored.
+ .. versionadded:: 3.20
+
* Mandatory : NO
* Default : -
.. variable:: CPACK_NUGET_PACKAGE_ICONURL
CPACK_NUGET_<compName>_PACKAGE_ICONURL
+ .. deprecated:: 3.20
+ Use a local icon file (:variable:`CPACK_NUGET_PACKAGE_ICON`) instead.
+
An URL for a 64x64 image with transparency background to use as the
- icon for the package in UI display. To be deprecated in favor of
- ``CPACK_NUGET_PACKAGE_ICON``.
+ icon for the package in UI display.
* Mandatory : NO
* Default : -
@@ -156,6 +165,8 @@ List of CPack NuGet generator specific variables:
.. variable:: CPACK_NUGET_PACKAGE_ICON
CPACK_NUGET_<compName>_PACKAGE_ICON
+ .. versionadded:: 3.20
+
The filename of a 64x64 image with transparency background to use as the
icon for the package in UI display.
@@ -192,6 +203,8 @@ List of CPack NuGet generator specific variables:
.. variable:: CPACK_NUGET_PACKAGE_LANGUAGE
CPACK_NUGET_<compName>_PACKAGE_LANGUAGE
+ .. versionadded:: 3.20
+
Locale specifier for the package, for example ``en_CA``.
* Mandatory : NO
diff --git a/Help/cpack_gen/packagemaker.rst b/Help/cpack_gen/packagemaker.rst
index 357eb73..256446d 100644
--- a/Help/cpack_gen/packagemaker.rst
+++ b/Help/cpack_gen/packagemaker.rst
@@ -27,6 +27,14 @@ macOS using PackageMaker:
don't mind missing extra features available in the installer shipping with
later versions of macOS.
+Background Image
+""""""""""""""""
+
+.. versionadded:: 3.17
+
+This group of variables controls the background image of the generated
+installer.
+
.. variable:: CPACK_PACKAGEMAKER_BACKGROUND
Adds a background to Distribution XML if specified. The value contains the
diff --git a/Help/cpack_gen/productbuild.rst b/Help/cpack_gen/productbuild.rst
index fd99e5a..cf3041f 100644
--- a/Help/cpack_gen/productbuild.rst
+++ b/Help/cpack_gen/productbuild.rst
@@ -1,6 +1,8 @@
CPack productbuild Generator
----------------------------
+.. versionadded:: 3.7
+
productbuild CPack generator (macOS).
Variables specific to CPack productbuild generator
@@ -18,11 +20,15 @@ macOS using ProductBuild:
.. variable:: CPACK_PRODUCTBUILD_IDENTITY_NAME
+ .. versionadded:: 3.8
+
Adds a digital signature to the resulting package.
.. variable:: CPACK_PRODUCTBUILD_KEYCHAIN_PATH
+ .. versionadded:: 3.8
+
Specify a specific keychain to search for the signing identity.
@@ -35,11 +41,15 @@ macOS using ProductBuild:
.. variable:: CPACK_PKGBUILD_IDENTITY_NAME
+ .. versionadded:: 3.8
+
Adds a digital signature to the resulting package.
.. variable:: CPACK_PKGBUILD_KEYCHAIN_PATH
+ .. versionadded:: 3.8
+
Specify a specific keychain to search for the signing identity.
@@ -60,12 +70,22 @@ macOS using ProductBuild:
.. variable:: CPACK_PRODUCTBUILD_RESOURCES_DIR
+ .. versionadded:: 3.9
+
If specified the productbuild generator copies files from this directory
(including subdirectories) to the ``Resources`` directory. This is done
before the :variable:`CPACK_RESOURCE_FILE_WELCOME`,
:variable:`CPACK_RESOURCE_FILE_README`, and
:variable:`CPACK_RESOURCE_FILE_LICENSE` files are copied.
+Background Image
+""""""""""""""""
+
+.. versionadded:: 3.17
+
+This group of variables controls the background image of the generated
+installer.
+
.. variable:: CPACK_PRODUCTBUILD_BACKGROUND
Adds a background to Distribution XML if specified. The value contains the
diff --git a/Help/cpack_gen/rpm.rst b/Help/cpack_gen/rpm.rst
index ccb7ebd..a8c3c5c 100644
--- a/Help/cpack_gen/rpm.rst
+++ b/Help/cpack_gen/rpm.rst
@@ -20,7 +20,7 @@ a component GROUP name. Usually those variables correspond to RPM spec file
entities. One may find information about spec files here
http://www.rpm.org/wiki/Docs
-.. note::
+.. versionchanged:: 3.6
`<COMPONENT>` part of variables is preferred to be in upper case (e.g. if
component is named ``foo`` then use ``CPACK_RPM_FOO_XXXX`` variable name format)
@@ -59,6 +59,9 @@ List of CPack RPM generator specific variables:
* Mandatory : YES
* Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
+ .. versionadded:: 3.2
+ Per-component ``CPACK_RPM_<component>_PACKAGE_SUMMARY`` variables.
+
.. variable:: CPACK_RPM_PACKAGE_NAME
CPACK_RPM_<component>_PACKAGE_NAME
@@ -67,9 +70,14 @@ List of CPack RPM generator specific variables:
* Mandatory : YES
* Default : :variable:`CPACK_PACKAGE_NAME`
+ .. versionadded:: 3.5
+ Per-component ``CPACK_RPM_<component>_PACKAGE_NAME`` variables.
+
.. variable:: CPACK_RPM_FILE_NAME
CPACK_RPM_<component>_FILE_NAME
+ .. versionadded:: 3.6
+
Package file name.
* Mandatory : YES
@@ -93,6 +101,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_MAIN_COMPONENT
+ .. versionadded:: 3.8
+
Main component that is packaged without component suffix.
* Mandatory : NO
@@ -104,6 +114,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_EPOCH
+ .. versionadded:: 3.10
+
The RPM package epoch
* Mandatory : No
@@ -129,6 +141,9 @@ List of CPack RPM generator specific variables:
This may be set to ``noarch`` if you know you are building a ``noarch`` package.
+ .. versionadded:: 3.3
+ Per-component ``CPACK_RPM_<component>_PACKAGE_ARCHITECTURE`` variables.
+
.. variable:: CPACK_RPM_PACKAGE_RELEASE
The RPM package release.
@@ -150,6 +165,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_RELEASE_DIST
+ .. versionadded:: 3.6
+
The dist tag that is added RPM ``Release:`` field.
* Mandatory : NO
@@ -174,6 +191,9 @@ List of CPack RPM generator specific variables:
* Mandatory : YES
* Default : "unknown"
+ .. versionadded:: 3.5
+ Per-component ``CPACK_RPM_<component>_PACKAGE_GROUP`` variables.
+
.. variable:: CPACK_RPM_PACKAGE_VENDOR
The RPM package vendor.
@@ -189,6 +209,9 @@ List of CPack RPM generator specific variables:
* Mandatory : NO
* Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
+ .. versionadded:: 3.12
+ ``CMAKE_PROJECT_HOMEPAGE_URL`` variable.
+
.. variable:: CPACK_RPM_PACKAGE_DESCRIPTION
CPACK_RPM_<component>_PACKAGE_DESCRIPTION
@@ -199,6 +222,9 @@ List of CPack RPM generator specific variables:
based installers only) if set, :variable:`CPACK_PACKAGE_DESCRIPTION_FILE`
if set or "no package description available"
+ .. versionadded:: 3.2
+ Per-component ``CPACK_RPM_<component>_PACKAGE_DESCRIPTION`` variables.
+
.. variable:: CPACK_RPM_COMPRESSION_TYPE
RPM compression type.
@@ -302,6 +328,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_PRE
CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
+ .. versionadded:: 3.2
+
RPM spec requires(pre) field.
* Mandatory : NO
@@ -315,6 +343,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_POST
CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
+ .. versionadded:: 3.2
+
RPM spec requires(post) field.
* Mandatory : NO
@@ -328,6 +358,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_POSTUN
CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
+ .. versionadded:: 3.2
+
RPM spec requires(postun) field.
* Mandatory : NO
@@ -342,6 +374,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_PREUN
CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
+ .. versionadded:: 3.2
+
RPM spec requires(preun) field.
* Mandatory : NO
@@ -492,6 +526,9 @@ List of CPack RPM generator specific variables:
rpm -qp --scripts package.rpm
+ .. versionadded:: 3.18
+ ``CPACK_RPM_PRE_TRANS_SCRIPT_FILE`` variable.
+
.. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE
CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
CPACK_RPM_POST_TRANS_SCRIPT_FILE
@@ -513,6 +550,9 @@ List of CPack RPM generator specific variables:
rpm -qp --scripts package.rpm
+ .. versionadded:: 3.18
+ ``CPACK_RPM_POST_TRANS_SCRIPT_FILE`` variable.
+
.. variable:: CPACK_RPM_USER_FILELIST
CPACK_RPM_<COMPONENT>_USER_FILELIST
@@ -521,13 +561,16 @@ List of CPack RPM generator specific variables:
May be used to explicitly specify ``%(<directive>)`` file line
in the spec file. Like ``%config(noreplace)`` or any other directive
- that be found in the ``%files`` section. You can have multiple directives
- per line, as in ``%attr(600,root,root) %config(noreplace)``. Since
+ that be found in the ``%files`` section. Since
the CPack RPM generator is generating the list of files (and directories) the
user specified files of the ``CPACK_RPM_<COMPONENT>_USER_FILELIST`` list will
be removed from the generated list. If referring to directories do
not add a trailing slash.
+ .. versionadded:: 3.8
+ You can have multiple directives per line, as in
+ ``%attr(600,root,root) %config(noreplace)``.
+
.. variable:: CPACK_RPM_CHANGELOG_FILE
RPM changelog file.
@@ -555,6 +598,9 @@ List of CPack RPM generator specific variables:
the default path. If you want to add some path to the default list then you
can use :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION` variable.
+ .. versionadded:: 3.10
+ Added ``/usr/share/aclocal`` to the default list of excludes.
+
.. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
additional list of path to be excluded.
@@ -568,6 +614,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_RELOCATION_PATHS
+ .. versionadded:: 3.2
+
Packages relocation paths list.
* Mandatory : NO
@@ -591,6 +639,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
+ .. versionadded:: 3.2
+
Per component relocation path install prefix.
* Mandatory : NO
@@ -602,6 +652,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
+ .. versionadded:: 3.3
+
Removal of default install prefix from relocation paths list.
* Mandatory : NO
@@ -613,6 +665,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS
+ .. versionadded:: 3.3
+
* Mandatory : NO
* Default : -
@@ -641,6 +695,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_DEFAULT_USER
CPACK_RPM_<compName>_DEFAULT_USER
+ .. versionadded:: 3.6
+
default user ownership of RPM content
* Mandatory : NO
@@ -652,6 +708,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_DEFAULT_GROUP
CPACK_RPM_<compName>_DEFAULT_GROUP
+ .. versionadded:: 3.6
+
default group ownership of RPM content
* Mandatory : NO
@@ -663,6 +721,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS
CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
+ .. versionadded:: 3.6
+
default permissions used for packaged files
* Mandatory : NO
@@ -686,6 +746,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS
CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
+ .. versionadded:: 3.6
+
default permissions used for packaged directories
* Mandatory : NO
@@ -697,6 +759,8 @@ List of CPack RPM generator specific variables:
.. variable:: CPACK_RPM_INSTALL_WITH_EXEC
+ .. versionadded:: 3.11
+
force execute permissions on programs and shared libraries
* Mandatory : NO
@@ -714,6 +778,8 @@ List of CPack RPM generator specific variables:
Packaging of Symbolic Links
^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.3
+
The CPack RPM generator supports packaging of symbolic links::
execute_process(COMMAND ${CMAKE_COMMAND}
@@ -731,8 +797,10 @@ those locations will be treated as if they were a part of the package
while determining if symlink should be either created or present in a
post install script - depending on relocation paths.
-Symbolic links that point to locations outside packaging path produce a
-warning and are treated as non relocatable permanent symbolic links.
+.. versionchanged:: 3.6
+ Symbolic links that point to locations outside packaging path produce a
+ warning and are treated as non relocatable permanent symbolic links.
+ Previous versions of CMake produced an error in this case.
Currently there are a few limitations though:
@@ -750,6 +818,8 @@ Currently there are a few limitations though:
Packaging of debug information
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.7
+
Debuginfo packages contain debug symbols and sources for debugging packaged
binaries.
@@ -832,6 +902,8 @@ Debuginfo RPM packaging has its own set of variables:
.. variable:: CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
+ .. versionadded:: 3.8
+
Create a single debuginfo package even if components packaging is set.
* Mandatory : NO
@@ -853,6 +925,8 @@ Debuginfo RPM packaging has its own set of variables:
.. variable:: CPACK_RPM_DEBUGINFO_FILE_NAME
CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
+ .. versionadded:: 3.9
+
Debuginfo package file name.
* Mandatory : NO
@@ -877,6 +951,8 @@ Debuginfo RPM packaging has its own set of variables:
Packaging of sources (SRPM)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.7
+
SRPM packaging is enabled by setting :variable:`CPACK_RPM_PACKAGE_SOURCES`
variable while usually using :variable:`CPACK_INSTALLED_DIRECTORIES` variable
to provide directory containing CMakeLists.txt and source files.
diff --git a/Help/cpack_gen/wix.rst b/Help/cpack_gen/wix.rst
index 5b880ba..79f835e 100644
--- a/Help/cpack_gen/wix.rst
+++ b/Help/cpack_gen/wix.rst
@@ -3,6 +3,9 @@ CPack WIX Generator
CPack WIX generator specific options
+.. versionadded:: 3.7
+ Support :variable:`CPACK_COMPONENT_<compName>_DISABLED` variable.
+
Variables specific to CPack WIX generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -95,9 +98,10 @@ Windows using WiX.
If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
- If this variable is set to ``.``, then application shortcuts will be
- created directly in the start menu and the uninstaller shortcut will be
- omitted.
+ .. versionadded:: 3.16
+ If this variable is set to ``.``, then application shortcuts will be
+ created directly in the start menu and the uninstaller shortcut will be
+ omitted.
.. variable:: CPACK_WIX_CULTURES
@@ -123,7 +127,10 @@ Windows using WiX.
.. variable:: CPACK_WIX_PATCH_FILE
Optional list of XML files with fragments to be inserted into
- generated WiX sources
+ generated WiX sources.
+
+ .. versionadded:: 3.5
+ Support listing multiple patch files.
This optional variable can be used to specify an XML file that the
WIX generator will use to inject fragments into its generated
@@ -152,10 +159,17 @@ Windows using WiX.
Currently fragments can be injected into most
Component, File, Directory and Feature elements.
- The following additional special Ids can be used:
+ .. versionadded:: 3.3
+ The following additional special Ids can be used:
+
+ * ``#PRODUCT`` for the ``<Product>`` element.
+ * ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
- * ``#PRODUCT`` for the ``<Product>`` element.
- * ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
+ .. versionadded:: 3.7
+ Support patching arbitrary ``<Feature>`` elements.
+
+ .. versionadded:: 3.9
+ Allow setting additional attributes.
The following example illustrates how this works.
@@ -227,6 +241,8 @@ Windows using WiX.
.. variable:: CPACK_WIX_PROPERTY_<PROPERTY>
+ .. versionadded:: 3.1
+
This variable can be used to provide a value for
the Windows Installer property ``<PROPERTY>``
@@ -243,16 +259,22 @@ Windows using WiX.
.. variable:: CPACK_WIX_ROOT_FEATURE_TITLE
+ .. versionadded:: 3.7
+
Sets the name of the root install feature in the WIX installer. Same as
CPACK_COMPONENT_<compName>_DISPLAY_NAME for components.
.. variable:: CPACK_WIX_ROOT_FEATURE_DESCRIPTION
+ .. versionadded:: 3.7
+
Sets the description of the root install feature in the WIX installer. Same as
CPACK_COMPONENT_<compName>_DESCRIPTION for components.
.. variable:: CPACK_WIX_SKIP_PROGRAM_FOLDER
+ .. versionadded:: 3.7
+
If this variable is set to true, the default install location
of the generated package will be CPACK_PACKAGE_INSTALL_DIRECTORY directly.
The install location will not be located relatively below
@@ -270,6 +292,8 @@ Windows using WiX.
.. variable:: CPACK_WIX_ROOT_FOLDER_ID
+ .. versionadded:: 3.9
+
This variable allows specification of a custom root folder ID.
The generator specific ``<64>`` token can be used for
folder IDs that come in 32-bit and 64-bit variants.
@@ -289,6 +313,8 @@ Windows using WiX.
.. variable:: CPACK_WIX_CUSTOM_XMLNS
+ .. versionadded:: 3.19
+
This variable provides a list of custom namespace declarations that are necessary
for using WiX extensions. Each declaration should be in the form name=url, where
name is the plain namespace without the usual xmlns: prefix and url is an unquoted
diff --git a/Help/generator/CodeBlocks.rst b/Help/generator/CodeBlocks.rst
index d830542..85da715 100644
--- a/Help/generator/CodeBlocks.rst
+++ b/Help/generator/CodeBlocks.rst
@@ -7,13 +7,15 @@ Project files for CodeBlocks will be created in the top directory and
in every subdirectory which features a ``CMakeLists.txt`` file containing
a :command:`project` call. Additionally a hierarchy of makefiles is generated
into the build tree.
-The :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable may
-be set to ``ON`` to exclude any files which are located outside of
-the project root directory.
The appropriate make program can build the
project through the default ``all`` target. An ``install`` target is
also provided.
+.. versionadded:: 3.10
+ The :variable:`CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` variable may
+ be set to ``ON`` to exclude any files which are located outside of
+ the project root directory.
+
This "extra" generator may be specified as:
``CodeBlocks - MinGW Makefiles``
@@ -23,7 +25,8 @@ This "extra" generator may be specified as:
Generate with :generator:`NMake Makefiles`.
``CodeBlocks - NMake Makefiles JOM``
- Generate with :generator:`NMake Makefiles JOM`.
+ .. versionadded:: 3.8
+ Generate with :generator:`NMake Makefiles JOM`.
``CodeBlocks - Ninja``
Generate with :generator:`Ninja`.
diff --git a/Help/generator/CodeLite.rst b/Help/generator/CodeLite.rst
index 46fa5be..4f276df 100644
--- a/Help/generator/CodeLite.rst
+++ b/Help/generator/CodeLite.rst
@@ -6,13 +6,15 @@ Generates CodeLite project files.
Project files for CodeLite will be created in the top directory and
in every subdirectory which features a CMakeLists.txt file containing
a :command:`project` call.
-The :variable:`CMAKE_CODELITE_USE_TARGETS` variable may be set to ``ON``
-to change the default behavior from projects to targets as the basis
-for project files.
The appropriate make program can build the
project through the default ``all`` target. An ``install`` target
is also provided.
+.. versionadded:: 3.7
+ The :variable:`CMAKE_CODELITE_USE_TARGETS` variable may be set to ``ON``
+ to change the default behavior from projects to targets as the basis
+ for project files.
+
This "extra" generator may be specified as:
``CodeLite - MinGW Makefiles``
diff --git a/Help/generator/Green Hills MULTI.rst b/Help/generator/Green Hills MULTI.rst
index 2246699..c25c5f5 100644
--- a/Help/generator/Green Hills MULTI.rst
+++ b/Help/generator/Green Hills MULTI.rst
@@ -3,22 +3,36 @@ Green Hills MULTI
.. versionadded:: 3.3
+.. versionadded:: 3.15
+ Linux support.
+
Generates Green Hills MULTI project files (experimental, work-in-progress).
-The buildsystem has predetermined build-configuration settings that can be controlled
-via the :variable:`CMAKE_BUILD_TYPE` variable.
+Customizations are available through the following cache variables:
+
+* ``GHS_CUSTOMIZATION``
+* ``GHS_GPJ_MACROS``
+
+.. versionadded:: 3.14
+ The buildsystem has predetermined build-configuration settings that can be controlled
+ via the :variable:`CMAKE_BUILD_TYPE` variable.
+
+Toolset and Platform Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 3.13
Customizations that are used to pick toolset and target system:
-The ``-A <arch>`` can be supplied for setting the target architecture.
-``<arch>`` usually is one of ``arm``, ``ppc``, ``86``, etcetera.
-If the target architecture is not specified then
-the default architecture of ``arm`` will be used.
+* The ``-A <arch>`` can be supplied for setting the target architecture.
+ ``<arch>`` usually is one of ``arm``, ``ppc``, ``86``, etcetera.
+ If the target architecture is not specified then
+ the default architecture of ``arm`` will be used.
-The ``-T <toolset>`` option can be used to set the directory location of the toolset.
-Both absolute and relative paths are valid. Relative paths use ``GHS_TOOLSET_ROOT``
-as the root. If the toolset is not specified then the latest toolset found in
-``GHS_TOOLSET_ROOT`` will be used.
+* The ``-T <toolset>`` option can be used to set the directory location of the toolset.
+ Both absolute and relative paths are valid. Relative paths use ``GHS_TOOLSET_ROOT``
+ as the root. If the toolset is not specified then the latest toolset found in
+ ``GHS_TOOLSET_ROOT`` will be used.
Cache variables that are used for toolset and target system customization:
@@ -50,15 +64,18 @@ Cache variables that are used for toolset and target system customization:
a specific RTOS is to be used.
| ``GHS_OS_DIR_OPTION`` default value is ``-os_dir``.
+ .. versionadded:: 3.15
+ ``GHS_OS_DIR_OPTION`` variable.
+
* ``GHS_BSP_NAME``
| Sets ``-bsp`` entry in project file.
| Defaults to ``sim<arch>`` for ``integrity`` platforms.
-Customizations are available through the following cache variables:
+Target Properties
+^^^^^^^^^^^^^^^^^
-* ``GHS_CUSTOMIZATION``
-* ``GHS_GPJ_MACROS``
+.. versionadded:: 3.14
The following properties are available:
diff --git a/Help/generator/NMake Makefiles JOM.rst b/Help/generator/NMake Makefiles JOM.rst
index 3a8744c..e0f4c90 100644
--- a/Help/generator/NMake Makefiles JOM.rst
+++ b/Help/generator/NMake Makefiles JOM.rst
@@ -2,3 +2,6 @@ NMake Makefiles JOM
-------------------
Generates JOM makefiles.
+
+.. versionadded:: 3.8
+ :generator:`CodeBlocks` generator can be used as an extra generator.
diff --git a/Help/generator/Ninja.rst b/Help/generator/Ninja.rst
index 08ee81b..f3ba222 100644
--- a/Help/generator/Ninja.rst
+++ b/Help/generator/Ninja.rst
@@ -11,32 +11,57 @@ For each subdirectory ``sub/dir`` of the project, additional targets
are generated:
``sub/dir/all``
- Depends on all targets required by the subdirectory.
+
+ .. versionadded:: 3.6
+
+ Depends on all targets required by the subdirectory.
``sub/dir/install``
- Runs the install step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the install step in the subdirectory, if any.
``sub/dir/install/strip``
- Runs the install step in the subdirectory followed by a ``CMAKE_STRIP`` command,
- if any.
- The ``CMAKE_STRIP`` variable will contain the platform's ``strip`` utility, which
- removes symbols information from generated binaries.
+ .. versionadded:: 3.7
+ Runs the install step in the subdirectory followed by a ``CMAKE_STRIP`` command,
+ if any.
+
+ The ``CMAKE_STRIP`` variable will contain the platform's ``strip`` utility, which
+ removes symbols information from generated binaries.
``sub/dir/test``
- Runs the test step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the test step in the subdirectory, if any.
``sub/dir/package``
- Runs the package step in the subdirectory, if any.
+
+ .. versionadded:: 3.7
+
+ Runs the package step in the subdirectory, if any.
Fortran Support
^^^^^^^^^^^^^^^
+.. versionadded:: 3.7
+
The ``Ninja`` generator conditionally supports Fortran when the ``ninja``
tool is at least version 1.10 (which has the required features).
+Swift Support
+^^^^^^^^^^^^^
+
+.. versionadded:: 3.15
+
+The Swift support is experimental, not considered stable, and may change
+in future releases of CMake.
+
See Also
^^^^^^^^
-The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
-generator, but generates multiple configurations at once.
+.. versionadded:: 3.17
+ The :generator:`Ninja Multi-Config` generator is similar to the ``Ninja``
+ generator, but generates multiple configurations at once.
diff --git a/Help/generator/VS_TOOLSET_HOST_ARCH.txt b/Help/generator/VS_TOOLSET_HOST_ARCH.txt
index 0293631..e361719 100644
--- a/Help/generator/VS_TOOLSET_HOST_ARCH.txt
+++ b/Help/generator/VS_TOOLSET_HOST_ARCH.txt
@@ -1,7 +1,11 @@
-For each toolset that comes with this version of Visual Studio, there are
-variants that are themselves compiled for 32-bit (``x86``) and
-64-bit (``x64``) hosts (independent of the architecture they target).
-|VS_TOOLSET_HOST_ARCH_DEFAULT|
-One may explicitly request use of either the 32-bit or 64-bit host tools
-by adding either ``host=x86`` or ``host=x64`` to the toolset specification.
-See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
+.. versionadded:: 3.8
+ For each toolset that comes with this version of Visual Studio, there are
+ variants that are themselves compiled for 32-bit (``x86``) and
+ 64-bit (``x64``) hosts (independent of the architecture they target).
+ |VS_TOOLSET_HOST_ARCH_DEFAULT|
+ One may explicitly request use of either the 32-bit or 64-bit host tools
+ by adding either ``host=x86`` or ``host=x64`` to the toolset specification.
+ See the :variable:`CMAKE_GENERATOR_TOOLSET` variable for details.
+
+.. versionadded:: 3.14
+ Added suport for ``host=x86`` option.
diff --git a/Help/generator/Visual Studio 10 2010.rst b/Help/generator/Visual Studio 10 2010.rst
index 4bf9a8f..b4376d8 100644
--- a/Help/generator/Visual Studio 10 2010.rst
+++ b/Help/generator/Visual Studio 10 2010.rst
@@ -17,13 +17,14 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
-via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
-name (architecture). For example:
-
-* ``cmake -G "Visual Studio 10 2010" -A Win32``
-* ``cmake -G "Visual Studio 10 2010" -A x64``
-* ``cmake -G "Visual Studio 10 2010" -A Itanium``
+.. versionadded:: 3.1
+ The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
+ via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
+ name (architecture). For example:
+
+ * ``cmake -G "Visual Studio 10 2010" -A Win32``
+ * ``cmake -G "Visual Studio 10 2010" -A x64``
+ * ``cmake -G "Visual Studio 10 2010" -A Itanium``
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 11 2012.rst b/Help/generator/Visual Studio 11 2012.rst
index 5d89a6e..932548b 100644
--- a/Help/generator/Visual Studio 11 2012.rst
+++ b/Help/generator/Visual Studio 11 2012.rst
@@ -17,15 +17,16 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
-via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
-name (architecture). For example:
-
-* ``cmake -G "Visual Studio 11 2012" -A Win32``
-* ``cmake -G "Visual Studio 11 2012" -A x64``
-* ``cmake -G "Visual Studio 11 2012" -A ARM``
-* ``cmake -G "Visual Studio 11 2012" -A <WinCE-SDK>``
- (Specify a target platform matching a Windows CE SDK name.)
+.. versionadded:: 3.1
+ The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
+ via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
+ name (architecture). For example:
+
+ * ``cmake -G "Visual Studio 11 2012" -A Win32``
+ * ``cmake -G "Visual Studio 11 2012" -A x64``
+ * ``cmake -G "Visual Studio 11 2012" -A ARM``
+ * ``cmake -G "Visual Studio 11 2012" -A <WinCE-SDK>``
+ (Specify a target platform matching a Windows CE SDK name.)
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 12 2013.rst b/Help/generator/Visual Studio 12 2013.rst
index fb8e021..b5fa1bf 100644
--- a/Help/generator/Visual Studio 12 2013.rst
+++ b/Help/generator/Visual Studio 12 2013.rst
@@ -17,13 +17,14 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
-via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
-name (architecture). For example:
-
-* ``cmake -G "Visual Studio 12 2013" -A Win32``
-* ``cmake -G "Visual Studio 12 2013" -A x64``
-* ``cmake -G "Visual Studio 12 2013" -A ARM``
+.. versionadded:: 3.1
+ The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
+ via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
+ name (architecture). For example:
+
+ * ``cmake -G "Visual Studio 12 2013" -A Win32``
+ * ``cmake -G "Visual Studio 12 2013" -A x64``
+ * ``cmake -G "Visual Studio 12 2013" -A ARM``
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Visual Studio 14 2015.rst b/Help/generator/Visual Studio 14 2015.rst
index 5b319bb..9c61641 100644
--- a/Help/generator/Visual Studio 14 2015.rst
+++ b/Help/generator/Visual Studio 14 2015.rst
@@ -51,6 +51,8 @@ via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
Windows 10 SDK Maximum Version for VS 2015
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. versionadded:: 3.19
+
Microsoft stated in a "Windows 10 October 2018 Update" blog post that Windows
10 SDK versions (15063, 16299, 17134, 17763) are not supported by VS 2015 and
are only supported by VS 2017 and later. Therefore by default CMake
diff --git a/Help/generator/Visual Studio 15 2017.rst b/Help/generator/Visual Studio 15 2017.rst
index e7baaad..a002f2f 100644
--- a/Help/generator/Visual Studio 15 2017.rst
+++ b/Help/generator/Visual Studio 15 2017.rst
@@ -14,18 +14,20 @@ projects (JavaScript, Powershell, Python, etc.) are not supported.
Instance Selection
^^^^^^^^^^^^^^^^^^
-VS 2017 supports multiple installations on the same machine.
-The :variable:`CMAKE_GENERATOR_INSTANCE` variable may be set as a
-cache entry containing the absolute path to a Visual Studio instance.
-If the value is not specified explicitly by the user or a toolchain file,
-CMake queries the Visual Studio Installer to locate VS instances, chooses
-one, and sets the variable as a cache entry to hold the value persistently.
-
-When CMake first chooses an instance, if the ``VS150COMNTOOLS`` environment
-variable is set and points to the ``Common7/Tools`` directory within
-one of the instances, that instance will be used. Otherwise, if more
-than one instance is installed we do not define which one is chosen
-by default.
+.. versionadded:: 3.9
+ VS 2017 supports multiple installations on the same machine.
+ The :variable:`CMAKE_GENERATOR_INSTANCE` variable may be set as a
+ cache entry containing the absolute path to a Visual Studio instance.
+ If the value is not specified explicitly by the user or a toolchain file,
+ CMake queries the Visual Studio Installer to locate VS instances, chooses
+ one, and sets the variable as a cache entry to hold the value persistently.
+
+.. versionadded:: 3.11
+ When CMake first chooses an instance, if the ``VS150COMNTOOLS`` environment
+ variable is set and points to the ``Common7/Tools`` directory within
+ one of the instances, that instance will be used. Otherwise, if more
+ than one instance is installed we do not define which one is chosen
+ by default.
Platform Selection
^^^^^^^^^^^^^^^^^^
diff --git a/Help/generator/Visual Studio 9 2008.rst b/Help/generator/Visual Studio 9 2008.rst
index a09d047..644f936 100644
--- a/Help/generator/Visual Studio 9 2008.rst
+++ b/Help/generator/Visual Studio 9 2008.rst
@@ -8,15 +8,16 @@ Platform Selection
The default target platform name (architecture) is ``Win32``.
-The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
-via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
-name (architecture). For example:
-
-* ``cmake -G "Visual Studio 9 2008" -A Win32``
-* ``cmake -G "Visual Studio 9 2008" -A x64``
-* ``cmake -G "Visual Studio 9 2008" -A Itanium``
-* ``cmake -G "Visual Studio 9 2008" -A <WinCE-SDK>``
- (Specify a target platform matching a Windows CE SDK name.)
+.. versionadded:: 3.1
+ The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
+ via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
+ name (architecture). For example:
+
+ * ``cmake -G "Visual Studio 9 2008" -A Win32``
+ * ``cmake -G "Visual Studio 9 2008" -A x64``
+ * ``cmake -G "Visual Studio 9 2008" -A Itanium``
+ * ``cmake -G "Visual Studio 9 2008" -A <WinCE-SDK>``
+ (Specify a target platform matching a Windows CE SDK name.)
For compatibility with CMake versions prior to 3.1, one may specify
a target platform name optionally at the end of the generator name.
diff --git a/Help/generator/Xcode.rst b/Help/generator/Xcode.rst
index be03a22..e4900a1 100644
--- a/Help/generator/Xcode.rst
+++ b/Help/generator/Xcode.rst
@@ -3,7 +3,8 @@ Xcode
Generate Xcode project files.
-This supports Xcode 5.0 and above.
+.. versionchanged:: 3.15
+ This generator supports Xcode 5.0 and above.
.. _`Xcode Build System Selection`:
@@ -14,7 +15,8 @@ By default Xcode is allowed to select its own default toolchain.
The :variable:`CMAKE_GENERATOR_TOOLSET` option may be set, perhaps
via the :manual:`cmake(1)` ``-T`` option, to specify another toolset.
-This generator supports toolset specification using one of these forms:
+.. versionadded:: 3.19
+ This generator supports toolset specification using one of these forms:
* ``toolset``
* ``toolset[,key=value]*``
@@ -33,3 +35,12 @@ Supported pairs are:
For example, to select the original build system under Xcode 12,
run :manual:`cmake(1)` with the option ``-T buildsystem=1``.
+
+Swift Support
+^^^^^^^^^^^^^
+
+.. versionadded:: 3.4
+
+When using the :generator:`Xcode` generator with Xcode 6.1 or higher,
+one may enable the ``Swift`` language with the :command:`enable_language`
+command or the :command:`project`.