Merge topic 'patch-CMakePrintHelpers'

3dcc4db1ae CMakePrintHelpers: Extend documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10786
diff --git a/Help/manual/cmake-configure-log.7.rst b/Help/manual/cmake-configure-log.7.rst
index f879406..c2b997d 100644
--- a/Help/manual/cmake-configure-log.7.rst
+++ b/Help/manual/cmake-configure-log.7.rst
@@ -442,6 +442,20 @@
   Either a string representing the found value or ``false`` if it was not
   found.
 
+``search_context``
+  A mapping of variable names to search paths specified by them (either a
+  string or an array of strings depending on the variable). Environment
+  variables are wrapped with ``ENV{`` and ``}``, otherwise CMake variables are
+  used. Only variables with any paths specified are used.
+
+  ``package_stack``
+    An array of objects with paths which come from the stack of paths made
+    available by :command:`find_package` calls.
+
+    ``package_paths``
+      The paths made available by :command:`find_package` commands in the call
+      stack.
+
 .. _`find_package configure-log event`:
 
 Event Kind ``find_package``
@@ -681,3 +695,17 @@
 
   ``version``
     The reported version of the package.
+
+``search_context``
+  A mapping of variable names to search paths specified by them (either a
+  string or an array of strings depending on the variable). Environment
+  variables are wrapped with ``ENV{`` and ``}``, otherwise CMake variables are
+  used. Only variables with any paths specified are used.
+
+  ``package_stack``
+    An array of objects with paths which come from the stack of paths made
+    available by :command:`find_package` calls.
+
+    ``package_paths``
+      The paths made available by :command:`find_package` commands in the call
+      stack.
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index 68f0a8f..6dffd4a 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -571,7 +571,7 @@
   :ref:`$\<LIST:JOIN,list,glue\> <GenEx LIST-JOIN>`, but the two have
   different behavior with regard to empty items.
   :ref:`$\<LIST:JOIN,list,glue\> <GenEx LIST-JOIN>` preserves all empty items,
-  whereas ``$<JOIN,list,glue>`` drops all empty items from the list.
+  whereas ``$<JOIN:list,glue>`` drops all empty items from the list.
 
 .. genex:: $<REMOVE_DUPLICATES:list>
 
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index 106009e..fa80c31 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -328,6 +328,7 @@
    /prop_tgt/LIBRARY_OUTPUT_DIRECTORY_CONFIG
    /prop_tgt/LIBRARY_OUTPUT_NAME
    /prop_tgt/LIBRARY_OUTPUT_NAME_CONFIG
+   /prop_tgt/SPDX_LICENSE
    /prop_tgt/LINK_DEPENDS
    /prop_tgt/LINK_DEPENDS_NO_SHARED
    /prop_tgt/LINK_DIRECTORIES
diff --git a/Help/module/include/CMAKE_REQUIRED_DEFINITIONS.rst b/Help/module/include/CMAKE_REQUIRED_DEFINITIONS.rst
index 17289c3..03b5124 100644
--- a/Help/module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+++ b/Help/module/include/CMAKE_REQUIRED_DEFINITIONS.rst
@@ -1,4 +1,5 @@
-  ``CMAKE_REQUIRED_DEFINITIONS``
-    A :ref:`;-list <CMake Language Lists>` of compiler definitions of the form
-    ``-DFOO`` or ``-DFOO=bar``. A definition for the name specified by
-    ``<resultVar>`` will also be added automatically.
+``CMAKE_REQUIRED_DEFINITIONS``
+  A :ref:`semicolon-separated list <CMake Language Lists>` of compiler
+  definitions, each of the form ``-DFOO`` or ``-DFOO=bar``.  A definition for
+  the name specified by the result variable argument of the check
+  command is also added automatically.
diff --git a/Help/module/include/CMAKE_REQUIRED_FLAGS.rst b/Help/module/include/CMAKE_REQUIRED_FLAGS.rst
index 80ae239..24ac0b6 100644
--- a/Help/module/include/CMAKE_REQUIRED_FLAGS.rst
+++ b/Help/module/include/CMAKE_REQUIRED_FLAGS.rst
@@ -1,6 +1,7 @@
-  ``CMAKE_REQUIRED_FLAGS``
-    String of additional flags to pass to the compiler. The string must be
-    space-delimited--a :ref:`;-list <CMake Language Lists>` will not work.
-    The contents of :variable:`CMAKE_<LANG>_FLAGS <CMAKE_<LANG>_FLAGS>` and
-    its associated configuration-specific variable are automatically added
-    to the compiler command before the contents of ``CMAKE_REQUIRED_FLAGS``.
+``CMAKE_REQUIRED_FLAGS``
+  A space-separated string of additional flags to pass to the compiler.
+  A :ref:`semicolon-separated list <CMake Language Lists>` will not work.
+  The contents of :variable:`CMAKE_<LANG>_FLAGS` and its associated
+  configuration-specific :variable:`CMAKE_<LANG>_FLAGS_<CONFIG>` variables
+  are automatically prepended to the compiler command before the contents of
+  this variable.
diff --git a/Help/module/include/CMAKE_REQUIRED_INCLUDES.rst b/Help/module/include/CMAKE_REQUIRED_INCLUDES.rst
index c8993bb..f0d14fa 100644
--- a/Help/module/include/CMAKE_REQUIRED_INCLUDES.rst
+++ b/Help/module/include/CMAKE_REQUIRED_INCLUDES.rst
@@ -1,4 +1,5 @@
-  ``CMAKE_REQUIRED_INCLUDES``
-    A :ref:`;-list <CMake Language Lists>` of header search paths to pass to
-    the compiler. These will be the only header search paths used--the contents
-    of the :prop_dir:`INCLUDE_DIRECTORIES` directory property will be ignored.
+``CMAKE_REQUIRED_INCLUDES``
+  A :ref:`semicolon-separated list <CMake Language Lists>` of header
+  search paths to pass to the compiler.  These will be the only header
+  search paths used; the contents of the :prop_dir:`INCLUDE_DIRECTORIES`
+  directory property will be ignored.
diff --git a/Help/module/include/CMAKE_REQUIRED_LIBRARIES.rst b/Help/module/include/CMAKE_REQUIRED_LIBRARIES.rst
index 8611b9e..15ffd00 100644
--- a/Help/module/include/CMAKE_REQUIRED_LIBRARIES.rst
+++ b/Help/module/include/CMAKE_REQUIRED_LIBRARIES.rst
@@ -1,5 +1,5 @@
-  ``CMAKE_REQUIRED_LIBRARIES``
-    A :ref:`;-list <CMake Language Lists>` of libraries to add to the link
-    command. These can be the name of system libraries or they can be
-    :ref:`Imported Targets <Imported Targets>` (see :command:`try_compile` for
-    further details).
+``CMAKE_REQUIRED_LIBRARIES``
+  A :ref:`semicolon-separated list <CMake Language Lists>` of libraries to
+  add to the link command.  These can be the names of system libraries, or
+  they can be :ref:`Imported Targets` (see :command:`try_compile` for further
+  details).
diff --git a/Help/module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst b/Help/module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
index 35f433b..5557cb3 100644
--- a/Help/module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+++ b/Help/module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
@@ -1,5 +1,6 @@
-  ``CMAKE_REQUIRED_LINK_DIRECTORIES``
-    .. versionadded:: 3.31
+``CMAKE_REQUIRED_LINK_DIRECTORIES``
+  .. versionadded:: 3.31
 
-    A :ref:`;-list <CMake Language Lists>` of libraries search paths to pass to
-    the linker (see :command:`try_compile` for further details).
+  A :ref:`semicolon-separated list <CMake Language Lists>` of library search
+  paths to pass to the linker (see :command:`try_compile` for further
+  details).
diff --git a/Help/module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst b/Help/module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
index f2a2474..9a37fef 100644
--- a/Help/module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+++ b/Help/module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
@@ -1,5 +1,5 @@
-  ``CMAKE_REQUIRED_LINK_OPTIONS``
-    .. versionadded:: 3.14
+``CMAKE_REQUIRED_LINK_OPTIONS``
+  .. versionadded:: 3.14
 
-    A :ref:`;-list <CMake Language Lists>` of options to add to the link
-    command (see :command:`try_compile` for further details).
+  A :ref:`semicolon-separated list <CMake Language Lists>` of options to
+  add to the link command (see :command:`try_compile` for further details).
diff --git a/Help/module/include/CMAKE_REQUIRED_QUIET.rst b/Help/module/include/CMAKE_REQUIRED_QUIET.rst
index aae8059..874812a 100644
--- a/Help/module/include/CMAKE_REQUIRED_QUIET.rst
+++ b/Help/module/include/CMAKE_REQUIRED_QUIET.rst
@@ -1,5 +1,5 @@
-  ``CMAKE_REQUIRED_QUIET``
-    .. versionadded:: 3.1
+``CMAKE_REQUIRED_QUIET``
+  .. versionadded:: 3.1
 
-    If this variable evaluates to a boolean true value, all status messages
-    associated with the check will be suppressed.
+  If this variable evaluates to a boolean true value, all status messages
+  associated with the check will be suppressed.
diff --git a/Help/prop_tgt/SPDX_LICENSE.rst b/Help/prop_tgt/SPDX_LICENSE.rst
new file mode 100644
index 0000000..056c860
--- /dev/null
+++ b/Help/prop_tgt/SPDX_LICENSE.rst
@@ -0,0 +1,14 @@
+SPDX_LICENSE
+------------
+
+.. versionadded:: 4.1
+
+Specify the license of a target using a |SPDX|_ (SPDX) `License Expression`_.
+See the SPDX `License List`_ for a list of commonly used licenses and their
+identifiers.
+
+.. _SPDX: https://spdx.dev/
+.. |SPDX| replace:: System Package Data Exchange
+
+.. _License Expression: https://spdx.github.io/spdx-spec/v3.0.1/annexes/spdx-license-expressions/
+.. _License List: https://spdx.org/licenses/
diff --git a/Modules/CheckCCompilerFlag.cmake b/Modules/CheckCCompilerFlag.cmake
index eb1d78b..9f7b179 100644
--- a/Modules/CheckCCompilerFlag.cmake
+++ b/Modules/CheckCCompilerFlag.cmake
@@ -33,19 +33,19 @@
 following variables prior to calling ``check_c_compiler_flag()``. Unknown flags
 in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckCSourceCompiles.cmake b/Modules/CheckCSourceCompiles.cmake
index 690345e..c7a281d 100644
--- a/Modules/CheckCSourceCompiles.cmake
+++ b/Modules/CheckCSourceCompiles.cmake
@@ -35,19 +35,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_c_source_compiles()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckCSourceRuns.cmake b/Modules/CheckCSourceRuns.cmake
index d7303f1..84f6e04 100644
--- a/Modules/CheckCSourceRuns.cmake
+++ b/Modules/CheckCSourceRuns.cmake
@@ -28,19 +28,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_c_source_runs()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckCXXCompilerFlag.cmake b/Modules/CheckCXXCompilerFlag.cmake
index 6338c7c..4e179f7 100644
--- a/Modules/CheckCXXCompilerFlag.cmake
+++ b/Modules/CheckCXXCompilerFlag.cmake
@@ -33,19 +33,19 @@
 following variables prior to calling ``check_cxx_compiler_flag()``. Unknown flags
 in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 #]=======================================================================]
 
 include_guard(GLOBAL)
diff --git a/Modules/CheckCXXSourceCompiles.cmake b/Modules/CheckCXXSourceCompiles.cmake
index 567520b..46ec942 100644
--- a/Modules/CheckCXXSourceCompiles.cmake
+++ b/Modules/CheckCXXSourceCompiles.cmake
@@ -35,19 +35,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_cxx_source_compiles()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckCXXSourceRuns.cmake b/Modules/CheckCXXSourceRuns.cmake
index 2ff98f5..2d5d0cf 100644
--- a/Modules/CheckCXXSourceRuns.cmake
+++ b/Modules/CheckCXXSourceRuns.cmake
@@ -28,19 +28,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_cxx_source_runs()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckCXXSymbolExists.cmake b/Modules/CheckCXXSymbolExists.cmake
index 0a14809..490d97c 100644
--- a/Modules/CheckCXXSymbolExists.cmake
+++ b/Modules/CheckCXXSymbolExists.cmake
@@ -41,19 +41,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 For example:
 
diff --git a/Modules/CheckCompilerFlag.cmake b/Modules/CheckCompilerFlag.cmake
index f692bbe..a5c308d 100644
--- a/Modules/CheckCompilerFlag.cmake
+++ b/Modules/CheckCompilerFlag.cmake
@@ -33,19 +33,19 @@
 following variables prior to calling ``check_compiler_flag()``. Unknown flags
 in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckFortranCompilerFlag.cmake b/Modules/CheckFortranCompilerFlag.cmake
index 6ec3b7e..695e4fa 100644
--- a/Modules/CheckFortranCompilerFlag.cmake
+++ b/Modules/CheckFortranCompilerFlag.cmake
@@ -35,19 +35,19 @@
 following variables prior to calling ``check_fortran_compiler_flag()``. Unknown
 flags in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckFortranFunctionExists.cmake b/Modules/CheckFortranFunctionExists.cmake
index ba5f989..09b3362 100644
--- a/Modules/CheckFortranFunctionExists.cmake
+++ b/Modules/CheckFortranFunctionExists.cmake
@@ -29,11 +29,11 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 #]=======================================================================]
 
 include_guard(GLOBAL)
diff --git a/Modules/CheckFortranSourceCompiles.cmake b/Modules/CheckFortranSourceCompiles.cmake
index 668aaae..3358563 100644
--- a/Modules/CheckFortranSourceCompiles.cmake
+++ b/Modules/CheckFortranSourceCompiles.cmake
@@ -43,19 +43,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_fortran_source_compiles()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckFortranSourceRuns.cmake b/Modules/CheckFortranSourceRuns.cmake
index bf4f5f9..2f63b37 100644
--- a/Modules/CheckFortranSourceRuns.cmake
+++ b/Modules/CheckFortranSourceRuns.cmake
@@ -41,19 +41,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_fortran_source_runs()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckFunctionExists.cmake b/Modules/CheckFunctionExists.cmake
index ae30845..98b58b1 100644
--- a/Modules/CheckFunctionExists.cmake
+++ b/Modules/CheckFunctionExists.cmake
@@ -19,19 +19,19 @@
 The following variables may be set before calling this macro to modify the
 way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 .. note::
 
diff --git a/Modules/CheckIncludeFile.cmake b/Modules/CheckIncludeFile.cmake
index b053e3d..bb46cf4 100644
--- a/Modules/CheckIncludeFile.cmake
+++ b/Modules/CheckIncludeFile.cmake
@@ -21,19 +21,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckIncludeFileCXX.cmake b/Modules/CheckIncludeFileCXX.cmake
index ed4e031..d065f97 100644
--- a/Modules/CheckIncludeFileCXX.cmake
+++ b/Modules/CheckIncludeFileCXX.cmake
@@ -21,19 +21,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckIncludeFiles.cmake b/Modules/CheckIncludeFiles.cmake
index 954d47a..c91f65a 100644
--- a/Modules/CheckIncludeFiles.cmake
+++ b/Modules/CheckIncludeFiles.cmake
@@ -27,19 +27,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckLibraryExists.cmake b/Modules/CheckLibraryExists.cmake
index da242a1..246a32f 100644
--- a/Modules/CheckLibraryExists.cmake
+++ b/Modules/CheckLibraryExists.cmake
@@ -25,17 +25,17 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckOBJCCompilerFlag.cmake b/Modules/CheckOBJCCompilerFlag.cmake
index 8d9e78d..84cfeaa 100644
--- a/Modules/CheckOBJCCompilerFlag.cmake
+++ b/Modules/CheckOBJCCompilerFlag.cmake
@@ -35,19 +35,19 @@
 following variables prior to calling ``check_objc_compiler_flag()``. Unknown
 flags in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckOBJCSourceCompiles.cmake b/Modules/CheckOBJCSourceCompiles.cmake
index ce89fc4..74b1ac6 100644
--- a/Modules/CheckOBJCSourceCompiles.cmake
+++ b/Modules/CheckOBJCSourceCompiles.cmake
@@ -37,19 +37,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_objc_source_compiles()``
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckOBJCSourceRuns.cmake b/Modules/CheckOBJCSourceRuns.cmake
index 3484c58..268765f 100644
--- a/Modules/CheckOBJCSourceRuns.cmake
+++ b/Modules/CheckOBJCSourceRuns.cmake
@@ -30,19 +30,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_objc_source_runs()``
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckOBJCXXCompilerFlag.cmake b/Modules/CheckOBJCXXCompilerFlag.cmake
index 691f5aa..5562fa4 100644
--- a/Modules/CheckOBJCXXCompilerFlag.cmake
+++ b/Modules/CheckOBJCXXCompilerFlag.cmake
@@ -35,19 +35,19 @@
 following variables prior to calling ``check_objcxx_compiler_flag()``. Unknown
 flags in these variables can case a false negative result.
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckOBJCXXSourceCompiles.cmake b/Modules/CheckOBJCXXSourceCompiles.cmake
index 4f9f7d4..e74a6e1 100644
--- a/Modules/CheckOBJCXXSourceCompiles.cmake
+++ b/Modules/CheckOBJCXXSourceCompiles.cmake
@@ -37,19 +37,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_objcxx_source_compiles()``
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckOBJCXXSourceRuns.cmake b/Modules/CheckOBJCXXSourceRuns.cmake
index acdee34..eec663b 100644
--- a/Modules/CheckOBJCXXSourceRuns.cmake
+++ b/Modules/CheckOBJCXXSourceRuns.cmake
@@ -30,19 +30,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_objcxx_source_runs()``
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckPrototypeDefinition.cmake b/Modules/CheckPrototypeDefinition.cmake
index 63daabf..21585d5 100644
--- a/Modules/CheckPrototypeDefinition.cmake
+++ b/Modules/CheckPrototypeDefinition.cmake
@@ -44,19 +44,19 @@
 The following variables may be set before calling this function to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckSourceCompiles.cmake b/Modules/CheckSourceCompiles.cmake
index 734b0d3..f225516 100644
--- a/Modules/CheckSourceCompiles.cmake
+++ b/Modules/CheckSourceCompiles.cmake
@@ -66,19 +66,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_source_compiles()``:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckSourceRuns.cmake b/Modules/CheckSourceRuns.cmake
index fcce30d..e86ef9b 100644
--- a/Modules/CheckSourceRuns.cmake
+++ b/Modules/CheckSourceRuns.cmake
@@ -52,19 +52,19 @@
   The compile and link commands can be influenced by setting any of the
   following variables prior to calling ``check_source_runs()``
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/CheckStructHasMember.cmake b/Modules/CheckStructHasMember.cmake
index 58b519d..2bfb0b2 100644
--- a/Modules/CheckStructHasMember.cmake
+++ b/Modules/CheckStructHasMember.cmake
@@ -30,19 +30,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 Example
 ^^^^^^^
diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake
index 72a7e1b..ddf1700 100644
--- a/Modules/CheckSymbolExists.cmake
+++ b/Modules/CheckSymbolExists.cmake
@@ -31,19 +31,19 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 For example:
 
diff --git a/Modules/CheckTypeSize.cmake b/Modules/CheckTypeSize.cmake
index e2db870..8a9ff2c 100644
--- a/Modules/CheckTypeSize.cmake
+++ b/Modules/CheckTypeSize.cmake
@@ -68,22 +68,22 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_INCLUDES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_DIRECTORIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
-``CMAKE_EXTRA_INCLUDE_FILES``
-  list of extra headers to include.
+  ``CMAKE_EXTRA_INCLUDE_FILES``
+    list of extra headers to include.
 
 Examples
 ^^^^^^^^
diff --git a/Modules/CheckVariableExists.cmake b/Modules/CheckVariableExists.cmake
index 0e4b899..a33b76b 100644
--- a/Modules/CheckVariableExists.cmake
+++ b/Modules/CheckVariableExists.cmake
@@ -21,15 +21,15 @@
 The following variables may be set before calling this macro to modify
 the way the check is run:
 
-.. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_FLAGS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_DEFINITIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LINK_OPTIONS.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
+  .. include:: /module/include/CMAKE_REQUIRED_LIBRARIES.rst
 
-.. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
+  .. include:: /module/include/CMAKE_REQUIRED_QUIET.rst
 
 #]=======================================================================]
 
diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake
index 3881319..18b9e35 100644
--- a/Modules/FindRuby.cmake
+++ b/Modules/FindRuby.cmake
@@ -354,10 +354,10 @@
 
 if (Ruby_VERSION_MAJOR)
   set(Ruby_VERSION "${Ruby_VERSION_MAJOR}.${Ruby_VERSION_MINOR}.${Ruby_VERSION_PATCH}")
+  set(_Ruby_VERSION_NODOT "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}${Ruby_VERSION_PATCH}")
+  set(_Ruby_VERSION_NODOT_ZERO_PATCH "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}0")
   set(_Ruby_VERSION_SHORT "${Ruby_VERSION_MAJOR}.${Ruby_VERSION_MINOR}")
   set(_Ruby_VERSION_SHORT_NODOT "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}")
-  set(_Ruby_NODOT_VERSION "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}${Ruby_VERSION_PATCH}")
-  set(_Ruby_NODOT_VERSION_ZERO_PATCH "${Ruby_VERSION_MAJOR}${Ruby_VERSION_MINOR}0")
 endif ()
 
 # FIXME: Currently we require both the interpreter and development components to be found
@@ -385,31 +385,34 @@
   set(Ruby_INCLUDE_DIRS ${Ruby_INCLUDE_DIRS} ${Ruby_CONFIG_INCLUDE_DIR})
 endif ()
 
-# Determine the list of possible names for the Ruby shared library
-set(_Ruby_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_Ruby_VERSION_SHORT} ruby${_Ruby_VERSION_SHORT_NODOT} ruby${_Ruby_NODOT_VERSION} ruby-${_Ruby_VERSION_SHORT} ruby-${Ruby_VERSION})
+# Determine the list of possible names for the ruby library
+set(_Ruby_POSSIBLE_LIB_NAMES
+  ruby
+  ruby-static
+  ruby-${Ruby_VERSION}
+  ruby${_Ruby_VERSION_NODOT}
+  ruby${_Ruby_VERSION_NODOT_ZERO_PATCH}
+  ruby-${_Ruby_VERSION_SHORT}
+  ruby${_Ruby_VERSION_SHORT}
+  ruby${_Ruby_VERSION_SHORT_NODOT}
+)
 
 if (WIN32)
-  set(_Ruby_POSSIBLE_MSVC_RUNTIMES "ucrt;msvcrt;vcruntime140;vcruntime140_1")
-  if (MSVC_TOOLSET_VERSION)
-    list(APPEND _Ruby_POSSIBLE_MSVC_RUNTIMES "msvcr${MSVC_TOOLSET_VERSION}")
-  else ()
-    list(APPEND _Ruby_POSSIBLE_MSVC_RUNTIMES "msvcr")
-  endif ()
-
-  set(_Ruby_POSSIBLE_VERSION_SUFFICES "${_Ruby_NODOT_VERSION};${_Ruby_NODOT_VERSION_ZERO_PATCH}")
+  set(_Ruby_POSSIBLE_RUNTIMES "ucrt;msvcrt;vcruntime140;vcruntime140_1;vcruntime${MSVC_TOOLSET_VERSION}")
+  set(_Ruby_POSSIBLE_VERSION_SUFFIXES "${_Ruby_VERSION_NODOT};${_Ruby_VERSION_NODOT_ZERO_PATCH}")
 
   if (CMAKE_SIZEOF_VOID_P EQUAL 8)
-    set(_Ruby_POSSIBLE_ARCH_PREFIXS "libx64-;x64-")
+    set(_Ruby_POSSIBLE_ARCH_PREFIXES "libx64-;x64-")
   else ()
-    set(_Ruby_POSSIBLE_ARCH_PREFIXS "lib")
+    set(_Ruby_POSSIBLE_ARCH_PREFIXES "lib")
   endif ()
 
-  foreach (_Ruby_MSVC_RUNTIME ${_Ruby_POSSIBLE_MSVC_RUNTIMES})
-    foreach (_Ruby_VERSION_SUFFIX ${_Ruby_POSSIBLE_VERSION_SUFFICES})
-      foreach (_Ruby_ARCH_PREFIX ${_Ruby_POSSIBLE_ARCH_PREFIXS})
+  foreach (_Ruby_RUNTIME ${_Ruby_POSSIBLE_RUNTIMES})
+    foreach (_Ruby_VERSION_SUFFIX ${_Ruby_POSSIBLE_VERSION_SUFFIXES})
+      foreach (_Ruby_ARCH_PREFIX ${_Ruby_POSSIBLE_ARCH_PREFIXES})
         list(APPEND _Ruby_POSSIBLE_LIB_NAMES
-             "${_Ruby_ARCH_PREFIX}${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}"
-             "${_Ruby_ARCH_PREFIX}${_Ruby_MSVC_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}-static")
+             "${_Ruby_ARCH_PREFIX}${_Ruby_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}"
+             "${_Ruby_ARCH_PREFIX}${_Ruby_RUNTIME}-ruby${_Ruby_VERSION_SUFFIX}-static")
       endforeach ()
     endforeach ()
   endforeach ()
diff --git a/Modules/Internal/CPack/CPackRPM.cmake b/Modules/Internal/CPack/CPackRPM.cmake
index 5f20f92..b733cfe 100644
--- a/Modules/Internal/CPack/CPackRPM.cmake
+++ b/Modules/Internal/CPack/CPackRPM.cmake
@@ -185,12 +185,12 @@
       string(SUBSTRING "${REL_PATH_}" 0 2 PREFIX_)
 
       if(NOT "${PREFIX_}" STREQUAL "..")
-        set(TPM_PATH_FOUND_ TRUE)
+        set(TMP_PATH_FOUND_ TRUE)
         break()
       endif()
     endforeach()
 
-    if(NOT TPM_PATH_FOUND_)
+    if(NOT TMP_PATH_FOUND_)
       message(AUTHOR_WARNING "CPackRPM:Warning: Path ${TMP_PATH} is not on one of the relocatable paths! Package will be partially relocatable.")
     endif()
   endforeach()
diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake
index ec959a4..260b663 100644
--- a/Modules/ProcessorCount.cmake
+++ b/Modules/ProcessorCount.cmake
@@ -5,24 +5,36 @@
 ProcessorCount
 --------------
 
-This module provides the following function to determine the number of
-processors/cores:
+This module provides a command to determine the number of processors/cores.
+
+Load this module in CMake with:
+
+.. code-block:: cmake
+
+  include(ProcessorCount)
+
+Commands
+^^^^^^^^
+
+This module provides the following command:
 
 .. command:: ProcessorCount
 
+  Determines the number of logical CPU cores available on the machine:
+
   .. code-block:: cmake
 
     ProcessorCount(<variable>)
 
-  Sets a local variable named ``<variable>`` to the number of logical CPU cores
-  available on the machine, if the information can be determined.  If
-  successful, the variable is guaranteed to be set to a positive integer (>=1).
-  If the processor count cannot be determined, it is set to 0.
+  This command sets a variable named ``<variable>`` to the number of logical
+  CPU cores available on the machine, if the information can be determined.
+  If successful, the variable is guaranteed to be set to a positive integer
+  (>=1).  If the processor count cannot be determined, it is set to 0.
 
   Currently, this functionality is implemented for AIX, Cygwin, FreeBSD, Haiku,
   HPUX, Linux, macOS, QNX, Sun and Windows.
 
-  This function provides an approximation of the number of compute cores
+  This command provides an approximation of the number of compute cores
   available on the current machine, making it useful for parallel building and
   testing.  It is meant to help utilize as much of the machine as seems
   reasonable, though users should consider other workloads running on the
@@ -45,7 +57,9 @@
 Examples
 ^^^^^^^^
 
-Using ``ProcessorCount`` module in a :option:`ctest -S` dashboard script:
+In the following example this module is used in a :option:`ctest -S`
+dashboard script to determine number of cores to use for a parallel
+:ref:`CTest Build Step`:
 
 .. code-block:: cmake
 
diff --git a/Modules/UseEcos.cmake b/Modules/UseEcos.cmake
index 1942ddd..e080d8b 100644
--- a/Modules/UseEcos.cmake
+++ b/Modules/UseEcos.cmake
@@ -5,87 +5,102 @@
 UseEcos
 -------
 
-This module defines variables and macros required to build eCos application.
+This module defines variables and provides commands required to build an eCos
+application.
 
-Macros
-^^^^^^
+Load this module in CMake project with:
 
-This module defines the following macros:
+.. code-block:: cmake
+
+  include(UseEcos)
+
+Commands
+^^^^^^^^
+
+This module provides the following commands:
+
+Building an eCos Application
+""""""""""""""""""""""""""""
 
 .. command:: ecos_add_include_directories
 
+  Adds the eCos include directories for the current ``CMakeLists.txt`` file:
+
   .. code-block:: cmake
 
     ecos_add_include_directories()
 
-  Adds the eCos include directories for the current `CMakeLists.txt` file.
-
 .. command:: ecos_adjust_directory
 
+  Adjusts the paths of given source files:
+
   .. code-block:: cmake
 
     ecos_adjust_directory(<var> <sources>...)
 
-  Adjusts the paths of given source files ``<sources>...`` and stores them into
-  a result variable named ``<var>``.
+  This command modifies the paths of the source files ``<sources>...`` to
+  make them suitable for use with ``ecos_add_executable()``, and stores them
+  in the variable ``<var>``.
 
   ``<var>``
     Result variable name holding a new list of source files with adjusted paths.
   ``<sources>...``
     A list of relative or absolute source files to adjust their paths.
 
-  Use this macro when the actual sources are located one level upwards. A
+  Use this command when the actual sources are located one level upwards. A
   ``../`` has to be prepended in front of every source file that is given as a
   relative path.
 
 .. command:: ecos_add_executable
 
+  Creates an eCos application executable:
+
   .. code-block:: cmake
 
     ecos_add_executable(<name> <sources>...)
 
-  Creates an eCos application executable.
-
   ``<name>``
     The name of the executable.
   ``<sources>...``
     A list of all source files, where the path has been adjusted beforehand by
     calling the ``ecos_adjust_directory()``.
 
-  This macro also sets the ``ECOS_DEFINITIONS`` local variable, holding some
+  This command also sets the ``ECOS_DEFINITIONS`` local variable, holding some
   common compile definitions.
 
-Macros for selecting the toolchain:
+Selecting the Toolchain
+"""""""""""""""""""""""
 
 .. command:: ecos_use_arm_elf_tools
 
+  Enables the ARM ELF toolchain for the directory where it is called:
+
   .. code-block:: cmake
 
     ecos_use_arm_elf_tools()
 
-  Enables the ARM ELF toolchain for the directory where it is called. Use this
-  macro, when compiling for the xscale processor.
+  Use this command, when compiling for the xscale processor.
 
 .. command:: ecos_use_i386_elf_tools
 
+  Enables the i386 ELF toolchain for the directory where it is called:
+
   .. code-block:: cmake
 
     ecos_use_i386_elf_tools()
 
-  Enables the i386 ELF toolchain for the directory where it is called.
-
 .. command:: ecos_use_ppc_eabi_tools
 
+  Enables the PowerPC toolchain for the directory where it is called:
+
   .. code-block:: cmake
 
     ecos_use_ppc_eabi_tools()
 
-  Enables the PowerPC toolchain for the directory where it is called.
-
 Variables
 ^^^^^^^^^
 
-Module also defines the following variables:
+This module also defines the following variables:
 
 ``ECOSCONFIG_EXECUTABLE``
   Cache variable that contains a path to the ``ecosconfig`` executable (the eCos
@@ -99,9 +114,13 @@
 Examples
 ^^^^^^^^
 
-.. code-block:: cmake
+The following example demonstrates defining an eCos executable target in a
+project that follows the common eCos convention of listing source files in
+a ``ProjectSources.txt`` file, located one directory above the current
+``CMakeLists.txt``:
 
-  # CMakeLists.txt
+.. code-block:: cmake
+  :caption: ``CMakeLists.txt``
 
   include(UseEcos)
 
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 2128348..866282a 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 4)
 set(CMake_VERSION_MINOR 0)
-set(CMake_VERSION_PATCH 20250515)
+set(CMake_VERSION_PATCH 20250519)
 #set(CMake_VERSION_RC 0)
 set(CMake_VERSION_IS_DIRTY 0)
 
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 14e2a8c..206dae0 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -25,7 +25,6 @@
 #include <cmext/algorithm>
 #include <cmext/string_view>
 
-#include <cm3p/curl/curl.h>
 #include <cm3p/json/value.h>
 #include <cm3p/uv.h>
 #include <cm3p/zlib.h>
@@ -41,6 +40,8 @@
 #  include <unistd.h> // IWYU pragma: keep
 #endif
 
+#include "cm_get_date.h"
+
 #include "cmCMakePresetsGraph.h"
 #include "cmCTestBuildAndTest.h"
 #include "cmCTestScriptHandler.h"
@@ -203,23 +204,21 @@
   struct tm* lctime;
   time_t tctime = time(nullptr);
   lctime = gmtime(&tctime);
-  char buf[1024];
-  // add todays year day and month to the time in str because
-  // curl_getdate no longer assumes the day is today
-  std::snprintf(buf, sizeof(buf), "%d%02d%02d %s", lctime->tm_year + 1900,
-                lctime->tm_mon + 1, lctime->tm_mday, str.c_str());
   cmCTestLog(this, OUTPUT,
              "Determine Nightly Start Time" << std::endl
                                             << "   Specified time: " << str
                                             << std::endl);
-  // Convert the nightly start time to seconds. Since we are
-  // providing only a time and a timezone, the current date of
+  // Convert the nightly start time to seconds. The current date of
   // the local machine is assumed. Consequently, nightlySeconds
   // is the time at which the nightly dashboard was opened or
   // will be opened on the date of the current client machine.
   // As such, this time may be in the past or in the future.
-  time_t ntime = curl_getdate(buf, &tctime);
-  cmCTestLog(this, DEBUG, "   Get curl time: " << ntime << std::endl);
+  char buf[1024];
+  std::snprintf(buf, sizeof(buf), "%d%02d%02d %s", lctime->tm_year + 1900,
+                lctime->tm_mon + 1, lctime->tm_mday, str.c_str());
+  time_t ntime = cm_get_date(tctime, buf);
+  cmCTestLog(this, DEBUG,
+             "   Get the nightly start time: " << ntime << std::endl);
   tctime = time(nullptr);
   cmCTestLog(this, DEBUG, "   Get the current time: " << tctime << std::endl);
 
@@ -2792,7 +2791,7 @@
            lctime->tm_mon + 1, lctime->tm_mday, time_str.c_str(),
            tzone_offset);
 
-  time_t stop_time = curl_getdate(buf, &current_time);
+  time_t stop_time = cm_get_date(current_time, buf);
   if (stop_time == -1) {
     this->Impl->StopTime = std::chrono::system_clock::time_point();
     return;
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 3e69038..477453d 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -117,6 +117,9 @@
   this->PopulateInterfaceProperty("INTERFACE_POSITION_INDEPENDENT_CODE",
                                   target, properties);
 
+  this->PopulateInterfaceProperty("SPDX_LICENSE", target, preprocessRule,
+                                  properties);
+
   std::string errorMessage;
   if (!this->PopulateCxxModuleExportProperties(
         target, properties, preprocessRule, includesDestinationDirs,
diff --git a/Source/cmExportPackageInfoGenerator.cxx b/Source/cmExportPackageInfoGenerator.cxx
index d486fec..9887b8d 100644
--- a/Source/cmExportPackageInfoGenerator.cxx
+++ b/Source/cmExportPackageInfoGenerator.cxx
@@ -205,7 +205,10 @@
   this->GenerateInterfaceListProperty(result, component, target, "includes",
                                       "INCLUDE_DIRECTORIES"_s, properties);
 
-  // TODO: description, license
+  this->GenerateProperty(result, component, target, "license", "SPDX_LICENSE",
+                         properties);
+
+  // TODO: description
 
   return result;
 }
@@ -464,6 +467,24 @@
   }
 }
 
+void cmExportPackageInfoGenerator::GenerateProperty(
+  bool& result, Json::Value& component, cmGeneratorTarget const* target,
+  std::string const& outName, std::string const& inName,
+  ImportPropertyMap const& properties) const
+{
+  auto const& iter = properties.find(inName);
+  if (iter == properties.end()) {
+    return;
+  }
+
+  if (!ForbidGeneratorExpressions(target, inName, iter->second)) {
+    result = false;
+    return;
+  }
+
+  component[outName] = iter->second;
+}
+
 Json::Value cmExportPackageInfoGenerator::GenerateInterfaceConfigProperties(
   std::string const& suffix, ImportPropertyMap const& properties) const
 {
diff --git a/Source/cmExportPackageInfoGenerator.h b/Source/cmExportPackageInfoGenerator.h
index 338547c..1392ba3 100644
--- a/Source/cmExportPackageInfoGenerator.h
+++ b/Source/cmExportPackageInfoGenerator.h
@@ -101,6 +101,11 @@
     std::string const& outName, cm::string_view inName,
     ImportPropertyMap const& properties) const;
 
+  void GenerateProperty(bool& result, Json::Value& component,
+                        cmGeneratorTarget const* target,
+                        std::string const& outName, std::string const& inName,
+                        ImportPropertyMap const& properties) const;
+
   std::string const PackageName;
   std::string const PackageVersion;
   std::string const PackageVersionCompat;
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index 34c1118..66c0c41 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -759,19 +759,40 @@
                  !this->FindCommand->NoCMakeInstallPath);
   log.EndObject();
 
-  log.WriteValue("names"_s, this->FindBaseCommand->Names);
+  if (!this->FindBaseCommand->Names.empty()) {
+    log.WriteValue("names"_s, this->FindBaseCommand->Names);
+  }
   std::vector<std::string> directories;
   directories.reserve(this->FailedSearchLocations.size());
   for (auto const& location : this->FailedSearchLocations) {
     directories.push_back(location.path);
   }
-  log.WriteValue("candidate_directories"_s, this->FindCommand->SearchPaths);
-  log.WriteValue("searched_directories"_s, directories);
+  if (!this->FindCommand->SearchPaths.empty()) {
+    log.WriteValue("candidate_directories"_s, this->FindCommand->SearchPaths);
+  }
+  if (!directories.empty()) {
+    log.WriteValue("searched_directories"_s, directories);
+  }
   if (!this->FoundSearchLocation.path.empty()) {
     log.WriteValue("found"_s, this->FoundSearchLocation.path);
   } else {
     log.WriteValue("found"_s, false);
   }
+
+  this->WriteSearchVariables(log, mf);
+
   log.EndEvent();
 }
+
+std::vector<std::pair<cmFindCommonDebugState::VariableSource, std::string>>
+cmFindBaseDebugState::ExtraSearchVariables() const
+{
+  std::vector<std::pair<cmFindCommonDebugState::VariableSource, std::string>>
+    extraSearches;
+  if (!this->FindBaseCommand->EnvironmentPath.empty()) {
+    extraSearches.emplace_back(VariableSource::EnvironmentList,
+                               this->FindBaseCommand->EnvironmentPath);
+  }
+  return extraSearches;
+}
 #endif
diff --git a/Source/cmFindBase.h b/Source/cmFindBase.h
index 73f4a84..0be2d73 100644
--- a/Source/cmFindBase.h
+++ b/Source/cmFindBase.h
@@ -117,6 +117,8 @@
   void WriteDebug() const override;
 #ifndef CMAKE_BOOTSTRAP
   void WriteEvent(cmConfigureLog& log, cmMakefile const& mf) const override;
+  std::vector<std::pair<VariableSource, std::string>> ExtraSearchVariables()
+    const override;
 #endif
 
   cmFindBase const* const FindBaseCommand;
diff --git a/Source/cmFindCommon.cxx b/Source/cmFindCommon.cxx
index 337fb19..1b70bb8 100644
--- a/Source/cmFindCommon.cxx
+++ b/Source/cmFindCommon.cxx
@@ -18,6 +18,18 @@
 #include "cmValue.h"
 #include "cmake.h"
 
+#ifndef CMAKE_BOOTSTRAP
+#  include <deque>
+#  include <iterator>
+
+#  include <cm/optional>
+#  include <cm/string_view>
+#  include <cmext/string_view>
+
+#  include "cmConfigureLog.h"
+#  include "cmRange.h"
+#endif
+
 cmFindCommon::PathGroup cmFindCommon::PathGroup::All("ALL");
 cmFindCommon::PathLabel cmFindCommon::PathLabel::PackageRoot(
   "PackageName_ROOT");
@@ -514,6 +526,114 @@
   this->WriteDebug();
 }
 
+#ifndef CMAKE_BOOTSTRAP
+void cmFindCommonDebugState::WriteSearchVariables(cmConfigureLog& log,
+                                                  cmMakefile const& mf) const
+{
+  auto WriteString = [&log, &mf](std::string const& name) {
+    if (cmValue value = mf.GetDefinition(name)) {
+      log.WriteValue(name, *value);
+    }
+  };
+  auto WriteCMakeList = [&log, &mf](std::string const& name) {
+    if (cmValue value = mf.GetDefinition(name)) {
+      cmList values{ *value };
+      if (!values.empty()) {
+        log.WriteValue(name, values);
+      }
+    }
+  };
+  auto WriteEnvList = [&log](std::string const& name) {
+    if (auto value = cmSystemTools::GetEnvVar(name)) {
+      auto values = cmSystemTools::SplitEnvPath(*value);
+      if (!values.empty()) {
+        log.WriteValue(cmStrCat("ENV{", name, '}'), values);
+      }
+    }
+  };
+
+  auto const* fc = this->FindCommand;
+  log.BeginObject("search_context"_s);
+  auto const& packageRootStack = mf.FindPackageRootPathStack;
+  if (!packageRootStack.empty()) {
+    bool havePaths =
+      std::any_of(packageRootStack.begin(), packageRootStack.end(),
+                  [](std::vector<std::string> const& entry) -> bool {
+                    return !entry.empty();
+                  });
+    if (havePaths) {
+      log.BeginObject("package_stack");
+      log.BeginArray();
+      for (auto const& pkgPaths : cmReverseRange(packageRootStack)) {
+        if (!pkgPaths.empty()) {
+          log.NextArrayElement();
+          log.WriteValue("package_paths", pkgPaths);
+        }
+      }
+      log.EndArray();
+      log.EndObject();
+    }
+  }
+  auto cmakePathVar = cmStrCat("CMAKE_", fc->CMakePathName, "_PATH");
+  WriteCMakeList(cmakePathVar);
+  WriteCMakeList("CMAKE_PREFIX_PATH");
+  if (fc->CMakePathName == "PROGRAM"_s) {
+    WriteCMakeList("CMAKE_APPBUNDLE_PATH");
+  } else {
+    WriteCMakeList("CMAKE_FRAMEWORK_PATH");
+  }
+  // Same as above, but ask the environment instead.
+  WriteEnvList(cmakePathVar);
+  WriteEnvList("CMAKE_PREFIX_PATH");
+  if (fc->CMakePathName == "PROGRAM"_s) {
+    WriteEnvList("CMAKE_APPBUNDLE_PATH");
+  } else {
+    WriteEnvList("CMAKE_FRAMEWORK_PATH");
+  }
+  WriteEnvList("PATH");
+  WriteString("CMAKE_INSTALL_PREFIX");
+  WriteString("CMAKE_STAGING_PREFIX");
+  WriteCMakeList("CMAKE_SYSTEM_PREFIX_PATH");
+  auto systemPathVar = cmStrCat("CMAKE_SYSTEM_", fc->CMakePathName, "_PATH");
+  WriteCMakeList(systemPathVar);
+  // Sysroot paths.
+  WriteString("CMAKE_SYSROOT");
+  WriteString("CMAKE_SYSROOT_COMPILE");
+  WriteString("CMAKE_SYSROOT_LINK");
+  WriteString("CMAKE_FIND_ROOT_PATH");
+  // Write out paths which are ignored.
+  WriteCMakeList("CMAKE_IGNORE_PATH");
+  WriteCMakeList("CMAKE_IGNORE_PREFIX_PATH");
+  WriteCMakeList("CMAKE_SYSTEM_IGNORE_PATH");
+  WriteCMakeList("CMAKE_SYSTEM_IGNORE_PREFIX_PATH");
+  if (fc->CMakePathName == "PROGRAM"_s) {
+    WriteCMakeList("CMAKE_SYSTEM_APPBUNDLE_PATH");
+  } else {
+    WriteCMakeList("CMAKE_SYSTEM_FRAMEWORK_PATH");
+  }
+  for (auto const& extraVar : this->ExtraSearchVariables()) {
+    switch (extraVar.first) {
+      case VariableSource::String:
+        WriteString(extraVar.second);
+        break;
+      case VariableSource::PathList:
+        WriteCMakeList(extraVar.second);
+        break;
+      case VariableSource::EnvironmentList:
+        WriteEnvList(extraVar.second);
+        break;
+    }
+  }
+  log.EndObject();
+}
+
+std::vector<std::pair<cmFindCommonDebugState::VariableSource, std::string>>
+cmFindCommonDebugState::ExtraSearchVariables() const
+{
+  return {};
+}
+#endif
+
 bool cmFindCommonDebugState::TrackSearchProgress() const
 {
   // Track search progress if debugging or logging the configure.
diff --git a/Source/cmFindCommon.h b/Source/cmFindCommon.h
index 22bc407..3546772 100644
--- a/Source/cmFindCommon.h
+++ b/Source/cmFindCommon.h
@@ -8,6 +8,7 @@
 #include <memory>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "cmPathLabel.h"
@@ -187,6 +188,15 @@
   virtual void WriteDebug() const = 0;
 #ifndef CMAKE_BOOTSTRAP
   virtual void WriteEvent(cmConfigureLog& log, cmMakefile const& mf) const = 0;
+  void WriteSearchVariables(cmConfigureLog& log, cmMakefile const& mf) const;
+  enum class VariableSource
+  {
+    String,
+    PathList,
+    EnvironmentList,
+  };
+  virtual std::vector<std::pair<VariableSource, std::string>>
+  ExtraSearchVariables() const;
 #endif
 
   cmFindCommon const* const FindCommand;
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index a2a71bd..7f1bc81 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -3668,6 +3668,19 @@
     log.WriteValue("found"_s, nullptr);
   }
 
+  this->WriteSearchVariables(log, mf);
+
   log.EndEvent();
 }
+
+std::vector<std::pair<cmFindCommonDebugState::VariableSource, std::string>>
+cmFindPackageDebugState::ExtraSearchVariables() const
+{
+  std::vector<std::pair<cmFindCommonDebugState::VariableSource, std::string>>
+    extraSearches;
+  if (this->FindPackageCommand->UseFindModules) {
+    extraSearches.emplace_back(VariableSource::PathList, "CMAKE_MODULE_PATH");
+  }
+  return extraSearches;
+}
 #endif
diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h
index bbbcdd4..a8eb5a2 100644
--- a/Source/cmFindPackageCommand.h
+++ b/Source/cmFindPackageCommand.h
@@ -399,6 +399,8 @@
   void WriteDebug() const override;
 #ifndef CMAKE_BOOTSTRAP
   void WriteEvent(cmConfigureLog& log, cmMakefile const& mf) const override;
+  std::vector<std::pair<VariableSource, std::string>> ExtraSearchVariables()
+    const override;
 #endif
 
   cmFindPackageCommand const* const FindPackageCommand;
diff --git a/Source/cmPackageInfoReader.cxx b/Source/cmPackageInfoReader.cxx
index 3d20c48..dd6a13c 100644
--- a/Source/cmPackageInfoReader.cxx
+++ b/Source/cmPackageInfoReader.cxx
@@ -564,10 +564,10 @@
   return path;
 }
 
-void cmPackageInfoReader::SetOptionalProperty(cmTarget* target,
-                                              cm::string_view property,
-                                              cm::string_view configuration,
-                                              Json::Value const& value) const
+void cmPackageInfoReader::SetImportProperty(cmTarget* target,
+                                            cm::string_view property,
+                                            cm::string_view configuration,
+                                            Json::Value const& value) const
 {
   if (!value.isNull()) {
     std::string fullprop;
@@ -582,6 +582,15 @@
   }
 }
 
+void cmPackageInfoReader::SetMetaProperty(cmTarget* target,
+                                          cm::string_view property,
+                                          Json::Value const& value) const
+{
+  if (!value.isNull()) {
+    target->SetProperty(property.data(), value.asString());
+  }
+}
+
 void cmPackageInfoReader::SetTargetProperties(
   cmMakefile* makefile, cmTarget* target, Json::Value const& data,
   std::string const& package, cm::string_view configuration) const
@@ -630,14 +639,14 @@
                            });
 
   // Add link name/location(s).
-  this->SetOptionalProperty(target, "LOCATION"_s, configuration,
-                            data["location"]);
+  this->SetImportProperty(target, "LOCATION"_s, configuration,
+                          data["location"]);
 
-  this->SetOptionalProperty(target, "IMPLIB"_s, configuration,
-                            data["link_location"]);
+  this->SetImportProperty(target, "IMPLIB"_s, configuration,
+                          data["link_location"]);
 
-  this->SetOptionalProperty(target, "SONAME"_s, configuration,
-                            data["link_name"]);
+  this->SetImportProperty(target, "SONAME"_s, configuration,
+                          data["link_name"]);
 
   // Add link languages.
   for (std::string const& originalLang : ReadList(data, "link_languages")) {
@@ -659,6 +668,11 @@
       cmStrCat("$<LINK_ONLY:"_s, NormalizeTargetName(dep, package), '>');
     AppendProperty(makefile, target, "LINK_LIBRARIES"_s, configuration, lib);
   }
+
+  // Add other information.
+  if (configuration.empty()) {
+    this->SetMetaProperty(target, "SPDX_LICENSE"_s, data["license"]);
+  }
 }
 
 cmTarget* cmPackageInfoReader::AddLibraryComponent(
diff --git a/Source/cmPackageInfoReader.h b/Source/cmPackageInfoReader.h
index 1bb6f4d..3173f66 100644
--- a/Source/cmPackageInfoReader.h
+++ b/Source/cmPackageInfoReader.h
@@ -94,9 +94,11 @@
   void SetTargetProperties(cmMakefile* makefile, cmTarget* target,
                            Json::Value const& data, std::string const& package,
                            cm::string_view configuration) const;
-  void SetOptionalProperty(cmTarget* target, cm::string_view property,
-                           cm::string_view configuration,
-                           Json::Value const& value) const;
+  void SetImportProperty(cmTarget* target, cm::string_view property,
+                         cm::string_view configuration,
+                         Json::Value const& value) const;
+  void SetMetaProperty(cmTarget* target, cm::string_view property,
+                       Json::Value const& value) const;
 
   std::string ResolvePath(std::string path) const;
 
diff --git a/Tests/CMakeLib/testCMExtEnumSet.cxx b/Tests/CMakeLib/testCMExtEnumSet.cxx
index d480be6..fc52108 100644
--- a/Tests/CMakeLib/testCMExtEnumSet.cxx
+++ b/Tests/CMakeLib/testCMExtEnumSet.cxx
@@ -46,6 +46,13 @@
   std::cout << "testDeclaration()" << std::endl;
 
   {
+    static EnumSetTest const testSet1;
+    static EnumSetTest2 const testSet2;
+    static_cast<void>(testSet1);
+    static_cast<void>(testSet2);
+  }
+
+  {
     EnumSetTest testSet1;
     EnumSetTest testSet2 = Test::A;
     EnumSetTest testSet3 = Test::A | Test::C;
diff --git a/Tests/RunCMake/ExportImport/RunCMakeTest.cmake b/Tests/RunCMake/ExportImport/RunCMakeTest.cmake
index b730047..9bc6f76 100644
--- a/Tests/RunCMake/ExportImport/RunCMakeTest.cmake
+++ b/Tests/RunCMake/ExportImport/RunCMakeTest.cmake
@@ -22,6 +22,7 @@
 endfunction()
 
 run_ExportImport_test(SharedDep)
+run_ExportImport_test(SpdxLicenseProperty)
 
 function(run_ExportImportBuildInstall_test case)
   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${case}-export-build)
diff --git a/Tests/RunCMake/ExportImport/SpdxLicenseProperty-export.cmake b/Tests/RunCMake/ExportImport/SpdxLicenseProperty-export.cmake
new file mode 100644
index 0000000..e5047f7
--- /dev/null
+++ b/Tests/RunCMake/ExportImport/SpdxLicenseProperty-export.cmake
@@ -0,0 +1,6 @@
+add_library(foo INTERFACE)
+set_property(TARGET foo PROPERTY SPDX_LICENSE "BSD-3-Clause")
+
+install(TARGETS foo EXPORT foo)
+install(EXPORT foo DESTINATION lib/cmake/foo)
+install(FILES foo-config.cmake.in RENAME foo-config.cmake DESTINATION lib/cmake/foo)
diff --git a/Tests/RunCMake/ExportImport/SpdxLicenseProperty-import.cmake b/Tests/RunCMake/ExportImport/SpdxLicenseProperty-import.cmake
new file mode 100644
index 0000000..9f17fcd
--- /dev/null
+++ b/Tests/RunCMake/ExportImport/SpdxLicenseProperty-import.cmake
@@ -0,0 +1,6 @@
+find_package(foo REQUIRED CONFIG NO_DEFAULT_PATH)
+get_property(SPDX_LICENSE TARGET foo PROPERTY SPDX_LICENSE)
+if(NOT SPDX_LICENSE STREQUAL "BSD-3-Clause")
+  message(FATAL_ERROR
+    "Expected SPDX_LICENSE property to be 'BSD-3-Clause' but got '${SPDX_LICENSE}'")
+endif()
diff --git a/Tests/RunCMake/ExportPackageInfo/InterfaceProperties-check.cmake b/Tests/RunCMake/ExportPackageInfo/InterfaceProperties-check.cmake
index 1573dd8..faf3e7a 100644
--- a/Tests/RunCMake/ExportPackageInfo/InterfaceProperties-check.cmake
+++ b/Tests/RunCMake/ExportPackageInfo/InterfaceProperties-check.cmake
@@ -22,3 +22,4 @@
 expect_value("${component}" "--needed" "link_flags" 0)
 expect_array("${component}" 1 "link_libraries")
 expect_value("${component}" "/usr/lib/libm.so" "link_libraries" 0)
+expect_value("${component}" "BSD-3-Clause" "license")
diff --git a/Tests/RunCMake/ExportPackageInfo/InterfaceProperties.cmake b/Tests/RunCMake/ExportPackageInfo/InterfaceProperties.cmake
index 0b519ee..b8d3454 100644
--- a/Tests/RunCMake/ExportPackageInfo/InterfaceProperties.cmake
+++ b/Tests/RunCMake/ExportPackageInfo/InterfaceProperties.cmake
@@ -10,6 +10,7 @@
 target_link_directories(foo INTERFACE /opt/foo/lib)
 target_link_options(foo INTERFACE --needed)
 target_link_libraries(foo INTERFACE /usr/lib/libm.so)
+set_property(TARGET foo PROPERTY SPDX_LICENSE "BSD-3-Clause")
 
 install(TARGETS foo EXPORT foo DESTINATION .)
 export(EXPORT foo PACKAGE_INFO foo)
diff --git a/Tests/RunCMake/ExportPackageInfo/Minimal-check.cmake b/Tests/RunCMake/ExportPackageInfo/Minimal-check.cmake
index deba94e..fc5326a 100644
--- a/Tests/RunCMake/ExportPackageInfo/Minimal-check.cmake
+++ b/Tests/RunCMake/ExportPackageInfo/Minimal-check.cmake
@@ -16,3 +16,4 @@
 expect_missing("${content}" "components" "foo" "link_flags")
 expect_missing("${content}" "components" "foo" "link_libraries")
 expect_missing("${content}" "components" "foo" "requires")
+expect_missing("${content}" "components" "foo" "license")
diff --git a/Tests/RunCMake/InstallPackageInfo/InterfaceProperties-check.cmake b/Tests/RunCMake/InstallPackageInfo/InterfaceProperties-check.cmake
index 2c3272e..365dd80 100644
--- a/Tests/RunCMake/InstallPackageInfo/InterfaceProperties-check.cmake
+++ b/Tests/RunCMake/InstallPackageInfo/InterfaceProperties-check.cmake
@@ -22,3 +22,4 @@
 expect_value("${component}" "--needed" "link_flags" 0)
 expect_array("${component}" 1 "link_libraries")
 expect_value("${component}" "/usr/lib/libm.so" "link_libraries" 0)
+expect_value("${component}" "BSD-3-Clause" "license")
diff --git a/Tests/RunCMake/InstallPackageInfo/InterfaceProperties.cmake b/Tests/RunCMake/InstallPackageInfo/InterfaceProperties.cmake
index 42edc21..58e5046 100644
--- a/Tests/RunCMake/InstallPackageInfo/InterfaceProperties.cmake
+++ b/Tests/RunCMake/InstallPackageInfo/InterfaceProperties.cmake
@@ -10,6 +10,7 @@
 target_link_directories(foo INTERFACE /opt/foo/lib)
 target_link_options(foo INTERFACE --needed)
 target_link_libraries(foo INTERFACE /usr/lib/libm.so)
+set_property(TARGET foo PROPERTY SPDX_LICENSE "BSD-3-Clause")
 
 install(TARGETS foo EXPORT foo DESTINATION .)
 install(PACKAGE_INFO foo DESTINATION cps EXPORT foo)
diff --git a/Tests/RunCMake/InstallPackageInfo/Minimal-check.cmake b/Tests/RunCMake/InstallPackageInfo/Minimal-check.cmake
index 9608ed8..8e30fcd 100644
--- a/Tests/RunCMake/InstallPackageInfo/Minimal-check.cmake
+++ b/Tests/RunCMake/InstallPackageInfo/Minimal-check.cmake
@@ -16,3 +16,4 @@
 expect_missing("${content}" "components" "foo" "link_flags")
 expect_missing("${content}" "components" "foo" "link_libraries")
 expect_missing("${content}" "components" "foo" "requires")
+expect_missing("${content}" "components" "foo" "license")
diff --git a/Tests/RunCMake/find_package-CPS/RunCMakeTest.cmake b/Tests/RunCMake/find_package-CPS/RunCMakeTest.cmake
index c77bed5..1bcdc8a 100644
--- a/Tests/RunCMake/find_package-CPS/RunCMakeTest.cmake
+++ b/Tests/RunCMake/find_package-CPS/RunCMakeTest.cmake
@@ -17,6 +17,9 @@
 run_cmake(TransitiveVersion)
 run_cmake(CustomVersion)
 
+# Metadata Tests
+run_cmake(SupplementalAttributes)
+
 # Version-matching failure tests
 run_cmake(MissingVersion1)
 run_cmake(MissingVersion2)
diff --git a/Tests/RunCMake/find_package-CPS/SupplementalAttributes.cmake b/Tests/RunCMake/find_package-CPS/SupplementalAttributes.cmake
new file mode 100644
index 0000000..3d6d567
--- /dev/null
+++ b/Tests/RunCMake/find_package-CPS/SupplementalAttributes.cmake
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 4.0)
+
+include(Setup.cmake)
+
+set(CMAKE_FIND_PACKAGE_SORT_ORDER NAME)
+set(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)
+
+find_package(SupplementalAttributesTest REQUIRED COMPONENTS Sample)
+
+get_target_property(license SupplementalAttributesTest::Sample "SPDX_LICENSE")
+if (NOT "${license}" STREQUAL "BSD-3-Clause")
+  message(SEND_ERROR "SupplementalAttributesTest wrong license ${license} !")
+endif()
diff --git a/Tests/RunCMake/find_package-CPS/cps/supplementalattributestest.cps b/Tests/RunCMake/find_package-CPS/cps/supplementalattributestest.cps
new file mode 100644
index 0000000..c7f3ce4
--- /dev/null
+++ b/Tests/RunCMake/find_package-CPS/cps/supplementalattributestest.cps
@@ -0,0 +1,12 @@
+{
+  "cps_version": "0.13",
+  "name": "SupplementalAttributesTest",
+  "version": "1.0",
+  "cps_path": "@prefix@/cps",
+  "components": {
+    "Sample": {
+      "type": "interface",
+      "license": "BSD-3-Clause"
+    }
+  }
+}
diff --git a/Tests/RunCMake/find_package/ConfigureLog-config.txt b/Tests/RunCMake/find_package/ConfigureLog-config.txt
index 59c50ba..93181c3 100644
--- a/Tests/RunCMake/find_package/ConfigureLog-config.txt
+++ b/Tests/RunCMake/find_package/ConfigureLog-config.txt
@@ -71,6 +71,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ViaConfig/ViaConfigConfig.cmake"
       mode: "config"
       version: "1\.0"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -100,6 +103,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindViaModule.cmake"
       mode: "module"
       version: "1.0"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -163,6 +169,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/Inner/InnerConfig.cmake"
       mode: "config"
       version: "1.1"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -192,6 +201,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindWithInner.cmake"
       mode: "module"
       version: "1.1"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -265,4 +277,7 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake"
       mode: "config"
       version: "2.5"
+    search_context:(
+      [^
+]*)+
 \.\.\.$
diff --git a/Tests/RunCMake/find_package/ConfigureLogParameters1-config.txt b/Tests/RunCMake/find_package/ConfigureLogParameters1-config.txt
index 44a285f..0970fa1 100644
--- a/Tests/RunCMake/find_package/ConfigureLogParameters1-config.txt
+++ b/Tests/RunCMake/find_package/ConfigureLogParameters1-config.txt
@@ -42,6 +42,9 @@
         reason: "not_found"
         message: "Not an EXACT version match"
     found: null
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -75,6 +78,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -106,6 +112,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -135,6 +144,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -164,6 +176,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -202,6 +217,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -232,6 +250,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -261,6 +282,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -290,6 +314,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -319,4 +346,7 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake"
       mode: "module"
       version: "1.2"
+    search_context:(
+      [^
+]*)+
 \.\.\.$
diff --git a/Tests/RunCMake/find_package/ConfigureLogParameters2-config.txt b/Tests/RunCMake/find_package/ConfigureLogParameters2-config.txt
index 989d83a..c371ad4 100644
--- a/Tests/RunCMake/find_package/ConfigureLogParameters2-config.txt
+++ b/Tests/RunCMake/find_package/ConfigureLogParameters2-config.txt
@@ -73,6 +73,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -186,6 +189,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -230,6 +236,9 @@
         mode: "config"
         reason: "no_exist"
     found: null
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -293,6 +302,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -356,6 +368,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -419,6 +434,9 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
   -
     kind: "find_package-v1"
     backtrace:(
@@ -521,4 +539,7 @@
       path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ParameterCheckConfig/ParameterCheckConfigConfig.cmake"
       mode: "config"
       version: "1.6"
+    search_context:(
+      [^
+]*)+
 \.\.\.$
diff --git a/Utilities/std/cmext/enum_set b/Utilities/std/cmext/enum_set
index 24d2e6a..0f83d72 100644
--- a/Utilities/std/cmext/enum_set
+++ b/Utilities/std/cmext/enum_set
@@ -149,7 +149,7 @@
   using reverse_iterator = std::reverse_iterator<iterator>;
   using const_reverse_iterator = std::reverse_iterator<const_iterator>;
 
-  constexpr enum_set() noexcept = default;
+  constexpr enum_set() noexcept {}
   enum_set(key_type e) { this->insert(e); }
   enum_set(enum_set const& other) noexcept { this->insert(other); }
   template <typename E,