summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0051.rst2
-rw-r--r--Help/policy/CMP0052.rst2
-rw-r--r--Help/policy/CMP0053.rst2
-rw-r--r--Help/policy/CMP0054.rst2
-rw-r--r--Help/policy/CMP0055.rst2
-rw-r--r--Help/policy/CMP0056.rst2
-rw-r--r--Help/policy/CMP0057.rst2
-rw-r--r--Help/policy/CMP0058.rst2
-rw-r--r--Help/policy/CMP0059.rst2
-rw-r--r--Help/policy/CMP0060.rst2
-rw-r--r--Help/policy/CMP0061.rst2
-rw-r--r--Help/policy/CMP0062.rst2
-rw-r--r--Help/policy/CMP0063.rst2
-rw-r--r--Help/policy/CMP0064.rst2
-rw-r--r--Help/policy/CMP0065.rst2
-rw-r--r--Help/policy/CMP0066.rst2
-rw-r--r--Help/policy/CMP0067.rst2
-rw-r--r--Help/policy/CMP0068.rst2
-rw-r--r--Help/policy/CMP0069.rst2
-rw-r--r--Help/policy/CMP0070.rst2
-rw-r--r--Help/policy/CMP0071.rst2
-rw-r--r--Help/policy/CMP0072.rst2
-rw-r--r--Help/policy/CMP0073.rst2
-rw-r--r--Help/policy/CMP0074.rst2
-rw-r--r--Help/policy/CMP0075.rst2
-rw-r--r--Help/policy/CMP0076.rst2
-rw-r--r--Help/policy/CMP0077.rst2
-rw-r--r--Help/policy/CMP0078.rst2
-rw-r--r--Help/policy/CMP0079.rst2
-rw-r--r--Help/policy/CMP0080.rst2
-rw-r--r--Help/policy/CMP0081.rst2
-rw-r--r--Help/policy/CMP0082.rst2
-rw-r--r--Help/policy/CMP0083.rst2
-rw-r--r--Help/policy/CMP0084.rst2
-rw-r--r--Help/policy/CMP0085.rst2
-rw-r--r--Help/policy/CMP0086.rst2
-rw-r--r--Help/policy/CMP0087.rst2
-rw-r--r--Help/policy/CMP0088.rst2
-rw-r--r--Help/policy/CMP0089.rst2
-rw-r--r--Help/policy/CMP0090.rst2
-rw-r--r--Help/policy/CMP0091.rst2
-rw-r--r--Help/policy/CMP0092.rst4
-rw-r--r--Help/policy/CMP0093.rst2
-rw-r--r--Help/policy/CMP0094.rst2
-rw-r--r--Help/policy/CMP0095.rst2
-rw-r--r--Help/policy/CMP0096.rst2
-rw-r--r--Help/policy/CMP0097.rst2
-rw-r--r--Help/policy/CMP0098.rst2
-rw-r--r--Help/policy/CMP0099.rst2
-rw-r--r--Help/policy/CMP0100.rst2
-rw-r--r--Help/policy/CMP0101.rst2
-rw-r--r--Help/policy/CMP0102.rst2
-rw-r--r--Help/policy/CMP0103.rst2
-rw-r--r--Help/policy/CMP0104.rst2
-rw-r--r--Help/policy/CMP0105.rst2
-rw-r--r--Help/policy/CMP0106.rst2
-rw-r--r--Help/policy/CMP0107.rst2
-rw-r--r--Help/policy/CMP0108.rst2
-rw-r--r--Help/policy/CMP0109.rst24
-rw-r--r--Help/policy/CMP0110.rst26
-rw-r--r--Help/policy/CMP0111.rst20
-rw-r--r--Help/policy/CMP0112.rst39
-rw-r--r--Help/policy/CMP0113.rst43
-rw-r--r--Help/policy/CMP0114.rst85
64 files changed, 354 insertions, 1 deletions
diff --git a/Help/policy/CMP0051.rst b/Help/policy/CMP0051.rst
index 6b679e5..053bc97 100644
--- a/Help/policy/CMP0051.rst
+++ b/Help/policy/CMP0051.rst
@@ -1,6 +1,8 @@
CMP0051
-------
+.. versionadded:: 3.1
+
List TARGET_OBJECTS in SOURCES target property.
CMake 3.0 and lower did not include the ``TARGET_OBJECTS``
diff --git a/Help/policy/CMP0052.rst b/Help/policy/CMP0052.rst
index ee2e6e8..c75f9ab 100644
--- a/Help/policy/CMP0052.rst
+++ b/Help/policy/CMP0052.rst
@@ -1,6 +1,8 @@
CMP0052
-------
+.. versionadded:: 3.1
+
Reject source and build dirs in installed
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES`.
diff --git a/Help/policy/CMP0053.rst b/Help/policy/CMP0053.rst
index 032b3e5..9b18b2d 100644
--- a/Help/policy/CMP0053.rst
+++ b/Help/policy/CMP0053.rst
@@ -1,6 +1,8 @@
CMP0053
-------
+.. versionadded:: 3.1
+
Simplify variable reference and escape sequence evaluation.
CMake 3.1 introduced a much faster implementation of evaluation of the
diff --git a/Help/policy/CMP0054.rst b/Help/policy/CMP0054.rst
index 1e000a6..c7ae019 100644
--- a/Help/policy/CMP0054.rst
+++ b/Help/policy/CMP0054.rst
@@ -1,6 +1,8 @@
CMP0054
-------
+.. versionadded:: 3.1
+
Only interpret :command:`if` arguments as variables or keywords when unquoted.
CMake 3.1 and above no longer implicitly dereference variables or
diff --git a/Help/policy/CMP0055.rst b/Help/policy/CMP0055.rst
index bc5ad08..47cac8e 100644
--- a/Help/policy/CMP0055.rst
+++ b/Help/policy/CMP0055.rst
@@ -1,6 +1,8 @@
CMP0055
-------
+.. versionadded:: 3.2
+
Strict checking for the :command:`break` command.
CMake 3.1 and lower allowed calls to the :command:`break` command
diff --git a/Help/policy/CMP0056.rst b/Help/policy/CMP0056.rst
index 834da84..628a6a1 100644
--- a/Help/policy/CMP0056.rst
+++ b/Help/policy/CMP0056.rst
@@ -1,6 +1,8 @@
CMP0056
-------
+.. versionadded:: 3.2
+
Honor link flags in :command:`try_compile` source-file signature.
The :command:`try_compile` command source-file signature generates a
diff --git a/Help/policy/CMP0057.rst b/Help/policy/CMP0057.rst
index 83db186..76aebfb 100644
--- a/Help/policy/CMP0057.rst
+++ b/Help/policy/CMP0057.rst
@@ -1,6 +1,8 @@
CMP0057
-------
+.. versionadded:: 3.3
+
Support new :command:`if` IN_LIST operator.
CMake 3.3 adds support for the new IN_LIST operator.
diff --git a/Help/policy/CMP0058.rst b/Help/policy/CMP0058.rst
index 05efd48..06cc74b 100644
--- a/Help/policy/CMP0058.rst
+++ b/Help/policy/CMP0058.rst
@@ -1,6 +1,8 @@
CMP0058
-------
+.. versionadded:: 3.3
+
Ninja requires custom command byproducts to be explicit.
When an intermediate file generated during the build is consumed
diff --git a/Help/policy/CMP0059.rst b/Help/policy/CMP0059.rst
index bce982e..6317d05 100644
--- a/Help/policy/CMP0059.rst
+++ b/Help/policy/CMP0059.rst
@@ -1,6 +1,8 @@
CMP0059
-------
+.. versionadded:: 3.3
+
Do not treat ``DEFINITIONS`` as a built-in directory property.
CMake 3.3 and above no longer make a list of definitions available through
diff --git a/Help/policy/CMP0060.rst b/Help/policy/CMP0060.rst
index 98ac2cf..09257d1 100644
--- a/Help/policy/CMP0060.rst
+++ b/Help/policy/CMP0060.rst
@@ -1,6 +1,8 @@
CMP0060
-------
+.. versionadded:: 3.3
+
Link libraries by full path even in implicit directories.
Policy :policy:`CMP0003` was introduced with the intention of always
diff --git a/Help/policy/CMP0061.rst b/Help/policy/CMP0061.rst
index 57e4161..aca551d 100644
--- a/Help/policy/CMP0061.rst
+++ b/Help/policy/CMP0061.rst
@@ -1,6 +1,8 @@
CMP0061
-------
+.. versionadded:: 3.3
+
CTest does not by default tell ``make`` to ignore errors (``-i``).
The :command:`ctest_build` and :command:`build_command` commands no
diff --git a/Help/policy/CMP0062.rst b/Help/policy/CMP0062.rst
index 0db7aaf..01e93f0 100644
--- a/Help/policy/CMP0062.rst
+++ b/Help/policy/CMP0062.rst
@@ -1,6 +1,8 @@
CMP0062
-------
+.. versionadded:: 3.3
+
Disallow :command:`install` of :command:`export` result.
The :command:`export()` command generates a file containing
diff --git a/Help/policy/CMP0063.rst b/Help/policy/CMP0063.rst
index d736d06..fec3ad8 100644
--- a/Help/policy/CMP0063.rst
+++ b/Help/policy/CMP0063.rst
@@ -1,6 +1,8 @@
CMP0063
-------
+.. versionadded:: 3.3
+
Honor visibility properties for all target types.
The :prop_tgt:`<LANG>_VISIBILITY_PRESET` and
diff --git a/Help/policy/CMP0064.rst b/Help/policy/CMP0064.rst
index e9a061b..0c20c13 100644
--- a/Help/policy/CMP0064.rst
+++ b/Help/policy/CMP0064.rst
@@ -1,6 +1,8 @@
CMP0064
-------
+.. versionadded:: 3.4
+
Recognize ``TEST`` as a operator for the :command:`if` command.
The ``TEST`` operator was added to the :command:`if` command to determine if a
diff --git a/Help/policy/CMP0065.rst b/Help/policy/CMP0065.rst
index b820aad..8968b91 100644
--- a/Help/policy/CMP0065.rst
+++ b/Help/policy/CMP0065.rst
@@ -1,6 +1,8 @@
CMP0065
-------
+.. versionadded:: 3.4
+
Do not add flags to export symbols from executables without
the :prop_tgt:`ENABLE_EXPORTS` target property.
diff --git a/Help/policy/CMP0066.rst b/Help/policy/CMP0066.rst
index e110ae1..b08430f 100644
--- a/Help/policy/CMP0066.rst
+++ b/Help/policy/CMP0066.rst
@@ -1,6 +1,8 @@
CMP0066
-------
+.. versionadded:: 3.7
+
Honor per-config flags in :command:`try_compile` source-file signature.
The source file signature of the :command:`try_compile` command uses the value
diff --git a/Help/policy/CMP0067.rst b/Help/policy/CMP0067.rst
index f802787..8358bb2 100644
--- a/Help/policy/CMP0067.rst
+++ b/Help/policy/CMP0067.rst
@@ -1,6 +1,8 @@
CMP0067
-------
+.. versionadded:: 3.8
+
Honor language standard in :command:`try_compile` source-file signature.
The :command:`try_compile` source file signature is intended to allow
diff --git a/Help/policy/CMP0068.rst b/Help/policy/CMP0068.rst
index 978a6e3..5d2a4b1 100644
--- a/Help/policy/CMP0068.rst
+++ b/Help/policy/CMP0068.rst
@@ -1,6 +1,8 @@
CMP0068
-------
+.. versionadded:: 3.9
+
``RPATH`` settings on macOS do not affect ``install_name``.
CMake 3.9 and newer remove any effect the following settings may have on the
diff --git a/Help/policy/CMP0069.rst b/Help/policy/CMP0069.rst
index 0d5ddfd..eafac45 100644
--- a/Help/policy/CMP0069.rst
+++ b/Help/policy/CMP0069.rst
@@ -1,6 +1,8 @@
CMP0069
-------
+.. versionadded:: 3.9
+
:prop_tgt:`INTERPROCEDURAL_OPTIMIZATION` is enforced when enabled.
CMake 3.9 and newer prefer to add IPO flags whenever the
diff --git a/Help/policy/CMP0070.rst b/Help/policy/CMP0070.rst
index 0fb3617..c880d1f 100644
--- a/Help/policy/CMP0070.rst
+++ b/Help/policy/CMP0070.rst
@@ -1,6 +1,8 @@
CMP0070
-------
+.. versionadded:: 3.10
+
Define :command:`file(GENERATE)` behavior for relative paths.
CMake 3.10 and newer define that relative paths given to ``INPUT`` and
diff --git a/Help/policy/CMP0071.rst b/Help/policy/CMP0071.rst
index 855ecf0..700d3b0 100644
--- a/Help/policy/CMP0071.rst
+++ b/Help/policy/CMP0071.rst
@@ -1,6 +1,8 @@
CMP0071
-------
+.. versionadded:: 3.10
+
Let :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` process
:prop_sf:`GENERATED` files.
diff --git a/Help/policy/CMP0072.rst b/Help/policy/CMP0072.rst
index 3abbad7..1dcdfef 100644
--- a/Help/policy/CMP0072.rst
+++ b/Help/policy/CMP0072.rst
@@ -1,6 +1,8 @@
CMP0072
-------
+.. versionadded:: 3.11
+
:module:`FindOpenGL` prefers GLVND by default when available.
The :module:`FindOpenGL` module provides an ``OpenGL::GL`` target and an
diff --git a/Help/policy/CMP0073.rst b/Help/policy/CMP0073.rst
index 9bfa0e9..8f0345c 100644
--- a/Help/policy/CMP0073.rst
+++ b/Help/policy/CMP0073.rst
@@ -1,6 +1,8 @@
CMP0073
-------
+.. versionadded:: 3.12
+
Do not produce legacy ``_LIB_DEPENDS`` cache entries.
Ancient CMake versions once used ``<tgt>_LIB_DEPENDS`` cache entries to
diff --git a/Help/policy/CMP0074.rst b/Help/policy/CMP0074.rst
index 63ebf7b..863bbb2 100644
--- a/Help/policy/CMP0074.rst
+++ b/Help/policy/CMP0074.rst
@@ -1,6 +1,8 @@
CMP0074
-------
+.. versionadded:: 3.12
+
:command:`find_package` uses ``<PackageName>_ROOT`` variables.
In CMake 3.12 and above the :command:`find_package(<PackageName>)` command now
diff --git a/Help/policy/CMP0075.rst b/Help/policy/CMP0075.rst
index aa5c3f7..4213782 100644
--- a/Help/policy/CMP0075.rst
+++ b/Help/policy/CMP0075.rst
@@ -1,6 +1,8 @@
CMP0075
-------
+.. versionadded:: 3.12
+
Include file check macros honor ``CMAKE_REQUIRED_LIBRARIES``.
In CMake 3.12 and above, the
diff --git a/Help/policy/CMP0076.rst b/Help/policy/CMP0076.rst
index dd25f80..edca742 100644
--- a/Help/policy/CMP0076.rst
+++ b/Help/policy/CMP0076.rst
@@ -1,6 +1,8 @@
CMP0076
-------
+.. versionadded:: 3.13
+
The :command:`target_sources` command converts relative paths to absolute.
In CMake 3.13 and above, the :command:`target_sources` command now converts
diff --git a/Help/policy/CMP0077.rst b/Help/policy/CMP0077.rst
index 44797b6..174cde9 100644
--- a/Help/policy/CMP0077.rst
+++ b/Help/policy/CMP0077.rst
@@ -1,6 +1,8 @@
CMP0077
-------
+.. versionadded:: 3.13
+
:command:`option` honors normal variables.
The :command:`option` command is typically used to create a cache entry
diff --git a/Help/policy/CMP0078.rst b/Help/policy/CMP0078.rst
index 2e97934..89fdb0b 100644
--- a/Help/policy/CMP0078.rst
+++ b/Help/policy/CMP0078.rst
@@ -1,6 +1,8 @@
CMP0078
-------
+.. versionadded:: 3.13
+
:module:`UseSWIG` generates standard target names.
Starting with CMake 3.13, :module:`UseSWIG` generates now standard target
diff --git a/Help/policy/CMP0079.rst b/Help/policy/CMP0079.rst
index 0244d6c..01aa08d 100644
--- a/Help/policy/CMP0079.rst
+++ b/Help/policy/CMP0079.rst
@@ -1,6 +1,8 @@
CMP0079
-------
+.. versionadded:: 3.13
+
:command:`target_link_libraries` allows use with targets in other directories.
Prior to CMake 3.13 the :command:`target_link_libraries` command did not
diff --git a/Help/policy/CMP0080.rst b/Help/policy/CMP0080.rst
index 5ce9591..789efea 100644
--- a/Help/policy/CMP0080.rst
+++ b/Help/policy/CMP0080.rst
@@ -1,6 +1,8 @@
CMP0080
-------
+.. versionadded:: 3.13
+
:module:`BundleUtilities` cannot be included at configure time.
The macros provided by :module:`BundleUtilities` are intended to be invoked
diff --git a/Help/policy/CMP0081.rst b/Help/policy/CMP0081.rst
index d3b2872..d1573dd 100644
--- a/Help/policy/CMP0081.rst
+++ b/Help/policy/CMP0081.rst
@@ -1,6 +1,8 @@
CMP0081
-------
+.. versionadded:: 3.13
+
Relative paths not allowed in :prop_tgt:`LINK_DIRECTORIES` target property.
CMake 3.12 and lower allowed the :prop_dir:`LINK_DIRECTORIES` directory
diff --git a/Help/policy/CMP0082.rst b/Help/policy/CMP0082.rst
index d887616..25c9580 100644
--- a/Help/policy/CMP0082.rst
+++ b/Help/policy/CMP0082.rst
@@ -1,6 +1,8 @@
CMP0082
-------
+.. versionadded:: 3.14
+
Install rules from :command:`add_subdirectory` calls are interleaved with
those in caller.
diff --git a/Help/policy/CMP0083.rst b/Help/policy/CMP0083.rst
index e0b09cf..7518ee3 100644
--- a/Help/policy/CMP0083.rst
+++ b/Help/policy/CMP0083.rst
@@ -1,6 +1,8 @@
CMP0083
-------
+.. versionadded:: 3.14
+
To control generation of Position Independent Executable (``PIE``) or not, some
flags are required at link time.
diff --git a/Help/policy/CMP0084.rst b/Help/policy/CMP0084.rst
index 713d295..9547701 100644
--- a/Help/policy/CMP0084.rst
+++ b/Help/policy/CMP0084.rst
@@ -1,6 +1,8 @@
CMP0084
-------
+.. versionadded:: 3.14
+
The :module:`FindQt` module does not exist for :command:`find_package`.
The existence of :module:`FindQt` means that for Qt upstream to provide
diff --git a/Help/policy/CMP0085.rst b/Help/policy/CMP0085.rst
index d9ec9a2..d90c72f 100644
--- a/Help/policy/CMP0085.rst
+++ b/Help/policy/CMP0085.rst
@@ -1,6 +1,8 @@
CMP0085
-------
+.. versionadded:: 3.14
+
``$<IN_LIST:...>`` handles empty list items.
In CMake 3.13 and lower, the ``$<IN_LIST:...>`` generator expression always
diff --git a/Help/policy/CMP0086.rst b/Help/policy/CMP0086.rst
index 4a9e8b8..725b502 100644
--- a/Help/policy/CMP0086.rst
+++ b/Help/policy/CMP0086.rst
@@ -1,6 +1,8 @@
CMP0086
-------
+.. versionadded:: 3.14
+
:module:`UseSWIG` honors ``SWIG_MODULE_NAME`` via ``-module`` flag.
Starting with CMake 3.14, :module:`UseSWIG` passes option
diff --git a/Help/policy/CMP0087.rst b/Help/policy/CMP0087.rst
index 4c45b99..4a65506 100644
--- a/Help/policy/CMP0087.rst
+++ b/Help/policy/CMP0087.rst
@@ -1,6 +1,8 @@
CMP0087
-------
+.. versionadded:: 3.14
+
:command:`install(CODE)` and :command:`install(SCRIPT)` support generator
expressions.
diff --git a/Help/policy/CMP0088.rst b/Help/policy/CMP0088.rst
index 82c04ef..1840a58 100644
--- a/Help/policy/CMP0088.rst
+++ b/Help/policy/CMP0088.rst
@@ -1,6 +1,8 @@
CMP0088
-------
+.. versionadded:: 3.14
+
:module:`FindBISON` runs bison in :variable:`CMAKE_CURRENT_BINARY_DIR`
when executing.
diff --git a/Help/policy/CMP0089.rst b/Help/policy/CMP0089.rst
index 029de55..e3fc77a 100644
--- a/Help/policy/CMP0089.rst
+++ b/Help/policy/CMP0089.rst
@@ -1,6 +1,8 @@
CMP0089
-------
+.. versionadded:: 3.15
+
Compiler id for IBM Clang-based XL compilers is now ``XLClang``.
CMake 3.15 and above recognize that IBM's Clang-based XL compilers
diff --git a/Help/policy/CMP0090.rst b/Help/policy/CMP0090.rst
index 720c17c..58dd999 100644
--- a/Help/policy/CMP0090.rst
+++ b/Help/policy/CMP0090.rst
@@ -1,6 +1,8 @@
CMP0090
-------
+.. versionadded:: 3.15
+
:command:`export(PACKAGE)` does not populate package registry by default.
In CMake 3.14 and below the :command:`export(PACKAGE)` command populated the
diff --git a/Help/policy/CMP0091.rst b/Help/policy/CMP0091.rst
index 1a5878a..ffc0ade 100644
--- a/Help/policy/CMP0091.rst
+++ b/Help/policy/CMP0091.rst
@@ -1,6 +1,8 @@
CMP0091
-------
+.. versionadded:: 3.15
+
MSVC runtime library flags are selected by an abstraction.
Compilers targeting the MSVC ABI have flags to select the MSVC runtime library.
diff --git a/Help/policy/CMP0092.rst b/Help/policy/CMP0092.rst
index 8d3a288..2f39830 100644
--- a/Help/policy/CMP0092.rst
+++ b/Help/policy/CMP0092.rst
@@ -1,6 +1,8 @@
CMP0092
-------
+.. versionadded:: 3.15
+
MSVC warning flags are not in :variable:`CMAKE_<LANG>_FLAGS` by default.
When using MSVC-like compilers in CMake 3.14 and below, warning flags
@@ -16,7 +18,7 @@ CMake 3.15 and above prefer to leave out warning flags from the value of
This policy provides compatibility with projects that have not been updated
to expect the lack of warning flags. The policy setting takes effect as of
the first :command:`project` or :command:`enable_language` command that
-initializes :variable:`CMAKE_<LANG>_FLAGS` for a given lanuage ``<LANG>``.
+initializes :variable:`CMAKE_<LANG>_FLAGS` for a given language ``<LANG>``.
.. note::
diff --git a/Help/policy/CMP0093.rst b/Help/policy/CMP0093.rst
index 0ffc493..4a9955f 100644
--- a/Help/policy/CMP0093.rst
+++ b/Help/policy/CMP0093.rst
@@ -1,6 +1,8 @@
CMP0093
-------
+.. versionadded:: 3.15
+
:module:`FindBoost` reports ``Boost_VERSION`` in ``x.y.z`` format.
In CMake 3.14 and below the module would report the Boost version
diff --git a/Help/policy/CMP0094.rst b/Help/policy/CMP0094.rst
index 836f30f..1b57658 100644
--- a/Help/policy/CMP0094.rst
+++ b/Help/policy/CMP0094.rst
@@ -1,6 +1,8 @@
CMP0094
-------
+.. versionadded:: 3.15
+
Modules :module:`FindPython3`, :module:`FindPython2` and :module:`FindPython`
use ``LOCATION`` for lookup strategy.
diff --git a/Help/policy/CMP0095.rst b/Help/policy/CMP0095.rst
index 4c56a05..ebdbab6 100644
--- a/Help/policy/CMP0095.rst
+++ b/Help/policy/CMP0095.rst
@@ -1,6 +1,8 @@
CMP0095
-------
+.. versionadded:: 3.16
+
``RPATH`` entries are properly escaped in the intermediary CMake install script.
In CMake 3.15 and earlier, ``RPATH`` entries set via
diff --git a/Help/policy/CMP0096.rst b/Help/policy/CMP0096.rst
index 8eaf0f9..8fd6f72 100644
--- a/Help/policy/CMP0096.rst
+++ b/Help/policy/CMP0096.rst
@@ -1,6 +1,8 @@
CMP0096
-------
+.. versionadded:: 3.16
+
The :command:`project` command preserves leading zeros in version components.
When a ``VERSION <major>[.<minor>[.<patch>[.<tweak>]]]]`` argument is given
diff --git a/Help/policy/CMP0097.rst b/Help/policy/CMP0097.rst
index 4840aa6..2240874 100644
--- a/Help/policy/CMP0097.rst
+++ b/Help/policy/CMP0097.rst
@@ -1,6 +1,8 @@
CMP0097
-------
+.. versionadded:: 3.16
+
:command:`ExternalProject_Add` with ``GIT_SUBMODULES ""`` initializes no
submodules.
diff --git a/Help/policy/CMP0098.rst b/Help/policy/CMP0098.rst
index 6d1443b..e793380 100644
--- a/Help/policy/CMP0098.rst
+++ b/Help/policy/CMP0098.rst
@@ -1,6 +1,8 @@
CMP0098
-------
+.. versionadded:: 3.17
+
:module:`FindFLEX` runs ``flex`` in directory
:variable:`CMAKE_CURRENT_BINARY_DIR` when executing.
diff --git a/Help/policy/CMP0099.rst b/Help/policy/CMP0099.rst
index c897e7b..0c64949 100644
--- a/Help/policy/CMP0099.rst
+++ b/Help/policy/CMP0099.rst
@@ -1,6 +1,8 @@
CMP0099
-------
+.. versionadded:: 3.17
+
Target link properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
:prop_tgt:`INTERFACE_LINK_DIRECTORIES` and :prop_tgt:`INTERFACE_LINK_DEPENDS`
are now transitive over private dependencies of static libraries.
diff --git a/Help/policy/CMP0100.rst b/Help/policy/CMP0100.rst
index b24d013..730fa82 100644
--- a/Help/policy/CMP0100.rst
+++ b/Help/policy/CMP0100.rst
@@ -1,6 +1,8 @@
CMP0100
-------
+.. versionadded:: 3.17
+
Let :prop_tgt:`AUTOMOC` and :prop_tgt:`AUTOUIC` process
header files that end with a ``.hh`` extension.
diff --git a/Help/policy/CMP0101.rst b/Help/policy/CMP0101.rst
index 9941acf..f02bccc 100644
--- a/Help/policy/CMP0101.rst
+++ b/Help/policy/CMP0101.rst
@@ -1,6 +1,8 @@
CMP0101
-------
+.. versionadded:: 3.17
+
:command:`target_compile_options` now honors ``BEFORE`` keyword in all scopes.
In CMake 3.16 and below the :command:`target_compile_options` ignores the
diff --git a/Help/policy/CMP0102.rst b/Help/policy/CMP0102.rst
index 9859006..78b5584 100644
--- a/Help/policy/CMP0102.rst
+++ b/Help/policy/CMP0102.rst
@@ -1,6 +1,8 @@
CMP0102
-------
+.. versionadded:: 3.17
+
The :command:`mark_as_advanced` command no longer creates a cache entry if one
does not already exist.
diff --git a/Help/policy/CMP0103.rst b/Help/policy/CMP0103.rst
index 223e0cb..b5f44d1 100644
--- a/Help/policy/CMP0103.rst
+++ b/Help/policy/CMP0103.rst
@@ -1,6 +1,8 @@
CMP0103
-------
+.. versionadded:: 3.18
+
Multiple calls to :command:`export` command with same ``FILE`` without
``APPEND`` is no longer allowed.
diff --git a/Help/policy/CMP0104.rst b/Help/policy/CMP0104.rst
index 8516716..7c7a16e 100644
--- a/Help/policy/CMP0104.rst
+++ b/Help/policy/CMP0104.rst
@@ -1,6 +1,8 @@
CMP0104
-------
+.. versionadded:: 3.18
+
Initialize :variable:`CMAKE_CUDA_ARCHITECTURES` when
:variable:`CMAKE_CUDA_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` is ``NVIDIA``.
Raise an error if :prop_tgt:`CUDA_ARCHITECTURES` is empty.
diff --git a/Help/policy/CMP0105.rst b/Help/policy/CMP0105.rst
index 19a1edb..097a59a 100644
--- a/Help/policy/CMP0105.rst
+++ b/Help/policy/CMP0105.rst
@@ -1,6 +1,8 @@
CMP0105
-------
+.. versionadded:: 3.18
+
:prop_tgt:`LINK_OPTIONS` and :prop_tgt:`INTERFACE_LINK_OPTIONS` target
properties are now used for the device link step.
diff --git a/Help/policy/CMP0106.rst b/Help/policy/CMP0106.rst
index e34d15a..18a6635 100644
--- a/Help/policy/CMP0106.rst
+++ b/Help/policy/CMP0106.rst
@@ -1,6 +1,8 @@
CMP0106
-------
+.. versionadded:: 3.18
+
The :module:`Documentation` module is removed.
The :module:`Documentation` was added as a support mechanism for the VTK
diff --git a/Help/policy/CMP0107.rst b/Help/policy/CMP0107.rst
index 111bef7..da5ae06 100644
--- a/Help/policy/CMP0107.rst
+++ b/Help/policy/CMP0107.rst
@@ -1,6 +1,8 @@
CMP0107
-------
+.. versionadded:: 3.18
+
It is not allowed to create an ``ALIAS`` target with the same name as an
another target.
diff --git a/Help/policy/CMP0108.rst b/Help/policy/CMP0108.rst
index 0d54cfa..4d1091d 100644
--- a/Help/policy/CMP0108.rst
+++ b/Help/policy/CMP0108.rst
@@ -1,6 +1,8 @@
CMP0108
-------
+.. versionadded:: 3.18
+
A target is not allowed to link to itself even through an ``ALIAS`` target.
In CMake 3.17 and below, a target can link to a target aliased to itself.
diff --git a/Help/policy/CMP0109.rst b/Help/policy/CMP0109.rst
new file mode 100644
index 0000000..f86287f
--- /dev/null
+++ b/Help/policy/CMP0109.rst
@@ -0,0 +1,24 @@
+CMP0109
+-------
+
+.. versionadded:: 3.19
+
+:command:`find_program` requires permission to execute but not to read.
+
+In CMake 3.18 and below, the :command:`find_program` command on UNIX
+would find files that are readable without requiring execute permission,
+and would not find files that are executable without read permission.
+In CMake 3.19 and above, ``find_program`` now prefers to require execute
+permission but not read permission. This policy provides compatibility
+with projects that have not been updated to expect the new behavior.
+
+The ``OLD`` behavior for this policy is for ``find_program`` to require
+read permission but not execute permission.
+The ``NEW`` behavior for this policy is for ``find_program`` to require
+execute permission but not read permission.
+
+This policy was introduced in CMake version 3.19. CMake version |release|
+warns when the policy is not set and uses ``OLD`` behavior. Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/policy/CMP0110.rst b/Help/policy/CMP0110.rst
new file mode 100644
index 0000000..25a0008
--- /dev/null
+++ b/Help/policy/CMP0110.rst
@@ -0,0 +1,26 @@
+CMP0110
+-------
+
+.. versionadded:: 3.19
+
+:command:`add_test` supports arbitrary characters in test names.
+
+:command:`add_test` can now (officially) create tests with whitespace and
+other special characters in its name. Before CMake version 3.19 that was not
+allowed, however, it was possible to work around this limitation by explicitly
+putting escaped quotes arount the test's name in the ``add_test`` command.
+
+Although never officially supported several projects in the wild found and
+implemented this workaround. However, the new change which officially allows
+the ``add_test`` command to support whitespace and other special characters in
+test names now breaks that workaround. In order for these projects to work
+smoothly with newer CMake versions, this policy was introduced.
+
+The ``OLD`` behavior of this policy is to still prevent ``add_test`` from
+handling whitespace and special characters properly (if not using the
+mentioned workaround). The ``NEW`` behavior on the other hand allows names
+with whitespace and special characters for tests created by ``add_test``.
+
+This policy was introduced in CMake version 3.19. CMake version |release|
+warns when the policy is not set and uses ``OLD`` behavior. Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
diff --git a/Help/policy/CMP0111.rst b/Help/policy/CMP0111.rst
new file mode 100644
index 0000000..37e5ad5
--- /dev/null
+++ b/Help/policy/CMP0111.rst
@@ -0,0 +1,20 @@
+CMP0111
+-------
+
+.. versionadded:: 3.19
+
+An imported target with a missing location fails during generation.
+
+Prior to this the location would be generated as ``<TARGET_NAME>-NOTFOUND``,
+which would result in build failures.
+
+The ``OLD`` behavior of this policy is to generate the location of an imported
+unknown, static or shared library target as ``<TARGET_NAME>-NOTFOUND`` if not
+set.
+The ``NEW`` behavior is to raise an error.
+
+This policy was introduced in CMake version 3.19. CMake version |release|
+warns when the policy is not set and uses ``OLD`` behavior. Use the
+:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/policy/CMP0112.rst b/Help/policy/CMP0112.rst
new file mode 100644
index 0000000..3eab6d2
--- /dev/null
+++ b/Help/policy/CMP0112.rst
@@ -0,0 +1,39 @@
+CMP0112
+-------
+
+.. versionadded:: 3.19
+
+Target file component generator expressions do not add target dependencies.
+
+The following target-based generator expressions that query for directory or
+file name components no longer add a dependency on the evaluated target.
+
+ - ``TARGET_FILE_DIR``
+ - ``TARGET_LINKER_FILE_BASE_NAME``
+ - ``TARGET_LINKER_FILE_NAME``
+ - ``TARGET_LINKER_FILE_DIR``
+ - ``TARGET_SONAME_FILE_NAME``
+ - ``TARGET_SONAME_FILE_DIR``
+ - ``TARGET_PDB_FILE_NAME``
+ - ``TARGET_PDB_FILE_DIR``
+ - ``TARGET_BUNDLE_DIR``
+ - ``TARGET_BUNDLE_CONTENT_DIR``
+
+
+In CMake 3.18 and lower a dependency on the evaluated target of the above
+generator expressions would be always added. CMake 3.19 and above prefer
+to not add this dependency. This policy provides compatibility for projects
+that have not been updated to expect the new behavior.
+
+The ``OLD`` behavior for this policy is to add a dependency on the evaluated
+target for the the above generator expressions. The ``NEW`` behavior of
+this policy is to not add a dependency on the evaluated target for the the
+above generator expressions.
+
+This policy was introduced in CMake version 3.19. Unlike many policies,
+CMake version |release| does *not* warn by default when this policy
+is not set and simply uses ``OLD`` behavior. See documentation of the
+:variable:`CMAKE_POLICY_WARNING_CMP0112 <CMAKE_POLICY_WARNING_CMP<NNNN>>`
+variable to control the warning.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/policy/CMP0113.rst b/Help/policy/CMP0113.rst
new file mode 100644
index 0000000..6f56902
--- /dev/null
+++ b/Help/policy/CMP0113.rst
@@ -0,0 +1,43 @@
+CMP0113
+-------
+
+.. versionadded:: 3.19
+
+:ref:`Makefile Generators` do not repeat custom commands from target
+dependencies.
+
+Consider a chain of custom commands split across two dependent targets:
+
+.. code-block:: cmake
+
+ add_custom_command(OUTPUT output-not-created
+ COMMAND ... DEPENDS ...)
+ set_property(SOURCE output-not-created PROPERTY SYMBOLIC 1)
+ add_custom_command(OUTPUT output-created
+ COMMAND ... DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/output-not-created)
+ add_custom_target(first DEPENDS output-not-created)
+ add_custom_target(second DEPENDS output-created)
+ add_dependencies(second first)
+
+In CMake 3.18 and lower, the Makefile generators put a copy of both custom
+commands in the Makefile for target ``second`` even though its dependency on
+target ``first`` ensures that the first custom command runs before the second.
+Running ``make second`` would cause the first custom command to run once in
+the ``first`` target and then again in the ``second`` target.
+
+CMake 3.19 and above prefer to not duplicate custom commands in a target that
+are already generated in other targets on which the target depends (directly or
+indirectly). This policy provides compatibility for projects that have not
+been updated to expect the new behavior. In particular, projects that relied
+on the duplicate execution or that did not properly set the :prop_sf:`SYMBOLIC`
+source file property may be affected.
+
+The ``OLD`` behavior for this policy is to duplicate custom commands in
+dependent targets. The ``NEW`` behavior of this policy is to not duplicate
+custom commands in dependent targets.
+
+This policy was introduced in CMake version 3.19. Unlike many policies,
+CMake version |release| does *not* warn when this policy is not set and
+simply uses ``OLD`` behavior.
+
+.. include:: DEPRECATED.txt
diff --git a/Help/policy/CMP0114.rst b/Help/policy/CMP0114.rst
new file mode 100644
index 0000000..1bc1216
--- /dev/null
+++ b/Help/policy/CMP0114.rst
@@ -0,0 +1,85 @@
+CMP0114
+-------
+
+.. versionadded:: 3.19
+
+:module:`ExternalProject` step targets fully adopt their steps.
+
+The :command:`ExternalProject_Add` ``STEP_TARGETS`` option, and the
+:command:`ExternalProject_Add_StepTargets` function, can be used to
+create build targets for individual steps of an external project.
+
+In CMake 3.18 and below, step targets have some limitations:
+
+* Step targets always depend on targets named by the
+ :command:`ExternalProject_Add` ``DEPENDS`` option even though
+ not all steps need them. In order to allow step targets to be created
+ without those dependencies, the :command:`ExternalProject_Add`
+ ``INDEPENDENT_STEP_TARGETS`` option or the
+ :command:`ExternalProject_Add_StepTargets` ``NO_DEPENDS`` option may
+ be used. However, adding such "independent" step targets makes sense
+ only for specific steps such as ``download``, ``update``, and ``patch``
+ because they do not need any of the external project's build dependencies.
+ Furthermore, it does not make sense to create independent step targets
+ for steps that depend on non-independent steps. Such rules are not
+ enforced, and projects that do not follow them can generate build systems
+ with confusing and generator-specific behavior.
+
+* Step targets hold copies of the custom commands implementing their
+ steps that are separate from the copies in the primary target created
+ by :command:`ExternalProject_Add`, and the primary target does not
+ depend on the step targets. In parallel builds that drive the primary
+ target and step targets concurrently, multiple copies of the steps'
+ commands may run concurrently and race each other.
+
+ Also, prior to policy :policy:`CMP0113`, the step targets generated
+ by :ref:`Makefile Generators` also contain all the custom commands
+ on which their step depends. This can lead to repeated execution of
+ those steps even in serial builds.
+
+In CMake 3.19 and above, the :module:`ExternalProject` module prefers
+a revised design to address these problems:
+
+* Each step is classified as "independent" if it does not depend
+ on other targets named by the :command:`ExternalProject_Add` ``DEPENDS``.
+ The predefined steps are automatically classified by default:
+
+ * The ``download``, ``update``, and ``patch`` steps are independent.
+ * The ``configure``, ``build``, ``test``, and ``install`` steps are not.
+
+ For custom steps, the :command:`ExternalProject_Add_Step` command provies
+ an ``INDEPENDENT`` option to mark them as independent. It is an error to
+ mark a step as independent if it depends on other steps that are not. Note
+ that this use of the term "independent" refers only to independence from
+ external targets and is orthogonal to a step's dependencies on other steps.
+
+* Step targets created by the :command:`ExternalProject_Add` ``STEP_TARGETS``
+ option or the :command:`ExternalProject_Add_Step` function are now
+ independent if and only if their steps are marked as independent.
+ The :command:`ExternalProject_Add` ``INDEPENDENT_STEP_TARGETS`` option
+ and :command:`ExternalProject_Add_StepTargets` ``NO_DEPENDS`` option
+ are no longer allowed.
+
+* Step targets, when created, are fully responsible for holding the
+ custom commands implementing their steps. The primary target created
+ by :command:`ExternalProject_Add` depends on the step targets, and the
+ step targets depend on each other. The target-level dependencies match
+ the file-level dependencies used by the custom commands for each step.
+
+ When the :command:`ExternalProject_Add` ``UPDATE_DISCONNECTED`` or
+ ``TEST_EXCLUDE_FROM_MAIN`` option is used, or the
+ :command:`ExternalProject_Add_Step` ``EXCLUDE_FROM_MAIN`` option is used
+ for a custom step, some step targets may be created automatically.
+ These are needed to hold the steps commonly depended upon by the primary
+ target and the disconnected step targets.
+
+Policy ``CMP0114`` provides compatibility for projects that have not been
+updated to expect the new behavior. The ``OLD`` behavior for this policy
+is to use the above-documented behavior from 3.18 and below. The ``NEW``
+behavior for this policy is to use the above-documented behavior preferred
+by 3.19 and above.
+
+This policy was introduced in CMake version 3.19. CMake version
+|release| warns when the policy is not set and uses ``OLD`` behavior.
+Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW``
+explicitly.