Ver código fonte

Merge topic 'versionadded'

c43e845d09 Help: Add `.. versionadded` directives to generator docs
f6fd769ae9 Help: Add `.. versionadded` directives to CPack generator docs
a19058d7d8 Help: Replace some `versionadded` directives with `versionchanged`

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5495
Brad King 5 anos atrás
pai
commit
d06676ebee
40 arquivos alterados com 565 adições e 149 exclusões
  1. 1 1
      Help/command/add_custom_target.rst
  2. 1 1
      Help/command/cmake_parse_arguments.rst
  3. 1 1
      Help/command/ctest_build.rst
  4. 1 1
      Help/command/ctest_start.rst
  5. 2 2
      Help/command/export.rst
  6. 4 4
      Help/command/file.rst
  7. 1 1
      Help/command/get_filename_component.rst
  8. 1 1
      Help/command/if.rst
  9. 1 1
      Help/command/install.rst
  10. 1 1
      Help/command/mark_as_advanced.rst
  11. 1 1
      Help/command/string.rst
  12. 1 1
      Help/command/target_sources.rst
  13. 3 3
      Help/command/try_compile.rst
  14. 11 0
      Help/cpack_gen/archive.rst
  15. 10 0
      Help/cpack_gen/bundle.rst
  16. 3 1
      Help/cpack_gen/cygwin.rst
  17. 100 11
      Help/cpack_gen/deb.rst
  18. 13 0
      Help/cpack_gen/dmg.rst
  19. 4 0
      Help/cpack_gen/external.rst
  20. 7 1
      Help/cpack_gen/freebsd.rst
  21. 57 13
      Help/cpack_gen/ifw.rst
  22. 22 1
      Help/cpack_gen/nsis.rst
  23. 21 8
      Help/cpack_gen/nuget.rst
  24. 8 0
      Help/cpack_gen/packagemaker.rst
  25. 20 0
      Help/cpack_gen/productbuild.rst
  26. 81 5
      Help/cpack_gen/rpm.rst
  27. 33 7
      Help/cpack_gen/wix.rst
  28. 7 4
      Help/generator/CodeBlocks.rst
  29. 5 3
      Help/generator/CodeLite.rst
  30. 30 13
      Help/generator/Green Hills MULTI.rst
  31. 3 0
      Help/generator/NMake Makefiles JOM.rst
  32. 35 10
      Help/generator/Ninja.rst
  33. 11 7
      Help/generator/VS_TOOLSET_HOST_ARCH.txt
  34. 8 7
      Help/generator/Visual Studio 10 2010.rst
  35. 10 9
      Help/generator/Visual Studio 11 2012.rst
  36. 8 7
      Help/generator/Visual Studio 12 2013.rst
  37. 2 0
      Help/generator/Visual Studio 14 2015.rst
  38. 14 12
      Help/generator/Visual Studio 15 2017.rst
  39. 10 9
      Help/generator/Visual Studio 9 2008.rst
  40. 13 2
      Help/generator/Xcode.rst

+ 1 - 1
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.

+ 1 - 1
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

+ 1 - 1
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>``

+ 1 - 1
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.
 

+ 2 - 2
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

+ 4 - 4
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.

+ 1 - 1
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.

+ 1 - 1
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

+ 1 - 1
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

+ 1 - 1
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`.

+ 1 - 1
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.
 

+ 1 - 1
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`.

+ 3 - 3
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.

+ 11 - 0
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

+ 10 - 0
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

+ 3 - 1
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
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

+ 100 - 11
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

+ 13 - 0
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).
 

+ 4 - 0
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

+ 7 - 1
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

+ 57 - 13
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.
 

+ 22 - 1
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.

+ 21 - 8
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

+ 8 - 0
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

+ 20 - 0
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

+ 81 - 5
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.

+ 33 - 7
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

+ 7 - 4
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`.

+ 5 - 3
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``

+ 30 - 13
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:
 

+ 3 - 0
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.

+ 35 - 10
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.

+ 11 - 7
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.

+ 8 - 7
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.

+ 10 - 9
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.

+ 8 - 7
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.

+ 2 - 0
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

+ 14 - 12
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
 ^^^^^^^^^^^^^^^^^^

+ 10 - 9
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.

+ 13 - 2
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`.