Merge topic 'cmWorkerPool_Tweaks'

56890ede2a cmWorkerPool: Factor our worker thread class (internals)
9794b72d38 cmWorkerPool: Set worker thread count separately to Process()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3260
diff --git a/Help/command/add_definitions.rst b/Help/command/add_definitions.rst
index 39a43f4..d06b01c 100644
--- a/Help/command/add_definitions.rst
+++ b/Help/command/add_definitions.rst
@@ -20,7 +20,7 @@
   * Use :command:`include_directories` to add include directories.
   * Use :command:`add_compile_options` to add other options.
 
-Flags beginning in -D or /D that look like preprocessor definitions are
+Flags beginning in ``-D`` or ``/D`` that look like preprocessor definitions are
 automatically added to the :prop_dir:`COMPILE_DEFINITIONS` directory
 property for the current directory.  Definitions with non-trivial values
 may be left in the set of flags instead of being converted for reasons of
diff --git a/Help/command/cmake_policy.rst b/Help/command/cmake_policy.rst
index a80f982..4bc7807 100644
--- a/Help/command/cmake_policy.rst
+++ b/Help/command/cmake_policy.rst
@@ -80,7 +80,7 @@
 ^^^^^^^^^^^^^^^^^^
 
 CMake keeps policy settings on a stack, so changes made by the
-cmake_policy command affect only the top of the stack.  A new entry on
+``cmake_policy`` command affect only the top of the stack.  A new entry on
 the policy stack is managed automatically for each subdirectory to
 protect its parents and siblings.  CMake also manages a new entry for
 scripts loaded by :command:`include` and :command:`find_package` commands
diff --git a/Help/command/include_external_msproject.rst b/Help/command/include_external_msproject.rst
index 88bb2c6..540a13a 100644
--- a/Help/command/include_external_msproject.rst
+++ b/Help/command/include_external_msproject.rst
@@ -17,7 +17,7 @@
 command to make things depend on the external project.
 
 ``TYPE``, ``GUID`` and ``PLATFORM`` are optional parameters that allow one to
-specify the type of project, id (GUID) of the project and the name of
+specify the type of project, id (``GUID``) of the project and the name of
 the target platform.  This is useful for projects requiring values
 other than the default (e.g.  WIX projects).
 
diff --git a/Help/command/message.rst b/Help/command/message.rst
index 2b4b1aa..a3c3a89 100644
--- a/Help/command/message.rst
+++ b/Help/command/message.rst
@@ -25,7 +25,7 @@
 The CMake command-line tool displays STATUS messages on stdout and all
 other message types on stderr.  The CMake GUI displays all messages in
 its log area.  The interactive dialogs (ccmake and CMakeSetup) show
-STATUS messages one at a time on a status line and other messages in
+``STATUS`` messages one at a time on a status line and other messages in
 interactive pop-up boxes.
 
 CMake Warning and Error message text displays using a simple markup
diff --git a/Help/command/set_property.rst b/Help/command/set_property.rst
index 2624b4b..ec08c8f 100644
--- a/Help/command/set_property.rst
+++ b/Help/command/set_property.rst
@@ -35,7 +35,7 @@
 ``SOURCE``
   Scope may name zero or more source files.  Note that source
   file properties are visible only to targets added in the same
-  directory (CMakeLists.txt).
+  directory (``CMakeLists.txt``).
   See also the :command:`set_source_files_properties` command.
 
 ``INSTALL``
@@ -48,7 +48,7 @@
   Path components have to be separated by forward slashes,
   must be normalized and are case sensitive.
 
-  To reference the installation prefix itself with a relative path use ".".
+  To reference the installation prefix itself with a relative path use ``.``.
 
   Currently installed file properties are only defined for
   the WIX generator where the given paths are relative
diff --git a/Help/command/set_source_files_properties.rst b/Help/command/set_source_files_properties.rst
index 91f995c..ab95d70 100644
--- a/Help/command/set_source_files_properties.rst
+++ b/Help/command/set_source_files_properties.rst
@@ -16,4 +16,4 @@
 
 See :ref:`Source File Properties` for the list of properties known
 to CMake.  Source file properties are visible only to targets added
-in the same directory (CMakeLists.txt).
+in the same directory (``CMakeLists.txt``).
diff --git a/Modules/CMakeAddFortranSubdirectory.cmake b/Modules/CMakeAddFortranSubdirectory.cmake
index 50b2807..2613569 100644
--- a/Modules/CMakeAddFortranSubdirectory.cmake
+++ b/Modules/CMakeAddFortranSubdirectory.cmake
@@ -16,7 +16,7 @@
 the libraries created.  This will only work if the fortran code is
 built into a dll, so :variable:`BUILD_SHARED_LIBS` is turned on in
 the project.  In addition the :variable:`CMAKE_GNUtoMS` option is set
-to on, so that Microsoft .lib files are created.  Usage is as follows:
+to on, so that Microsoft ``.lib`` files are created.  Usage is as follows:
 
 ::
 
@@ -32,15 +32,15 @@
    NO_EXTERNAL_INSTALL     # skip installation of external project
    )
 
-Relative paths in ARCHIVE_DIR and RUNTIME_DIR are interpreted with
+Relative paths in ``ARCHIVE_DIR`` and ``RUNTIME_DIR`` are interpreted with
 respect to the build directory corresponding to the source directory
 in which the function is invoked.
 
 Limitations:
 
-NO_EXTERNAL_INSTALL is required for forward compatibility with a
+``NO_EXTERNAL_INSTALL`` is required for forward compatibility with a
 future version that supports installation of the external project
-binaries during "make install".
+binaries during ``make install``.
 #]=======================================================================]
 
 set(_MS_MINGW_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
diff --git a/Modules/CMakeAddNewLanguage.txt b/Modules/CMakeAddNewLanguage.txt
index 612e1a3..6baadc3 100644
--- a/Modules/CMakeAddNewLanguage.txt
+++ b/Modules/CMakeAddNewLanguage.txt
@@ -1,7 +1,7 @@
 This file provides a few notes to CMake developers about how to add
 support for a new language to CMake.  It is also possible to place
-these files in CMAKE_MODULE_PATH within an outside project to add
-languages not supported by upstream CMake.  However, this is not
+these files in :variable:`CMAKE_MODULE_PATH` within an outside project
+to add languages not supported by upstream CMake.  However, this is not
 a fully supported use case.
 
 The implementation behind the scenes of project/enable_language,
@@ -29,5 +29,3 @@
    CMAKE_(LANG)_CREATE_STATIC_LIBRARY
    CMAKE_(LANG)_COMPILE_OBJECT
    CMAKE_(LANG)_LINK_EXECUTABLE
-
-
diff --git a/Modules/CMakeForceCompiler.cmake b/Modules/CMakeForceCompiler.cmake
index 7ac09dc..7048806 100644
--- a/Modules/CMakeForceCompiler.cmake
+++ b/Modules/CMakeForceCompiler.cmake
@@ -25,38 +25,41 @@
 
 -------------------------------------------------------------------------
 
-Macro CMAKE_FORCE_C_COMPILER has the following signature:
+Macro ``CMAKE_FORCE_C_COMPILER`` has the following signature:
 
 ::
 
    CMAKE_FORCE_C_COMPILER(<compiler> <compiler-id>)
 
-It sets CMAKE_C_COMPILER to the given compiler and the cmake internal
-variable CMAKE_C_COMPILER_ID to the given compiler-id.  It also
-bypasses the check for working compiler and basic compiler information
-tests.
+It sets :variable:`CMAKE_C_COMPILER <CMAKE_<LANG>_COMPILER>` to
+the given compiler and the cmake internal variable
+:variable:`CMAKE_C_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given
+compiler-id.  It also bypasses the check for working compiler and basic
+compiler information tests.
 
-Macro CMAKE_FORCE_CXX_COMPILER has the following signature:
+Macro ``CMAKE_FORCE_CXX_COMPILER`` has the following signature:
 
 ::
 
    CMAKE_FORCE_CXX_COMPILER(<compiler> <compiler-id>)
 
-It sets CMAKE_CXX_COMPILER to the given compiler and the cmake
-internal variable CMAKE_CXX_COMPILER_ID to the given compiler-id.  It
-also bypasses the check for working compiler and basic compiler
-information tests.
+It sets :variable:`CMAKE_CXX_COMPILER <CMAKE_<LANG>_COMPILER>` to
+the given compiler and the cmake internal variable
+:variable:`CMAKE_CXX_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given
+compiler-id.  It also bypasses the check for working compiler and basic
+compiler information tests.
 
-Macro CMAKE_FORCE_Fortran_COMPILER has the following signature:
+Macro ``CMAKE_FORCE_Fortran_COMPILER`` has the following signature:
 
 ::
 
    CMAKE_FORCE_Fortran_COMPILER(<compiler> <compiler-id>)
 
-It sets CMAKE_Fortran_COMPILER to the given compiler and the cmake
-internal variable CMAKE_Fortran_COMPILER_ID to the given compiler-id.
-It also bypasses the check for working compiler and basic compiler
-information tests.
+It sets :variable:`CMAKE_Fortran_COMPILER <CMAKE_<LANG>_COMPILER>` to
+the given compiler and the cmake internal variable
+:variable:`CMAKE_Fortran_COMPILER_ID <CMAKE_<LANG>_COMPILER_ID>` to the given
+compiler-id.  It also bypasses the check for working compiler and basic
+compiler information tests.
 
 So a simple toolchain file could look like this:
 
diff --git a/Modules/CheckLanguage.cmake b/Modules/CheckLanguage.cmake
index efa88bd..d096849 100644
--- a/Modules/CheckLanguage.cmake
+++ b/Modules/CheckLanguage.cmake
@@ -13,11 +13,11 @@
 
   check_language(<lang>)
 
-where <lang> is a language that may be passed to enable_language()
-such as "Fortran".  If CMAKE_<lang>_COMPILER is already defined the
-check does nothing.  Otherwise it tries enabling the language in a
-test project.  The result is cached in CMAKE_<lang>_COMPILER as the
-compiler that was found, or NOTFOUND if the language cannot be
+where ``<lang>`` is a language that may be passed to :command:`enable_language`
+such as ``Fortran``.  If :variable:`CMAKE_<LANG>_COMPILER` is already defined
+the check does nothing.  Otherwise it tries enabling the language in a
+test project.  The result is cached in :variable:`CMAKE_<LANG>_COMPILER`
+as the compiler that was found, or ``NOTFOUND`` if the language cannot be
 enabled.
 
 Example:
diff --git a/Modules/CheckPIESupported.cmake b/Modules/CheckPIESupported.cmake
index 720217d..6d63f0b 100644
--- a/Modules/CheckPIESupported.cmake
+++ b/Modules/CheckPIESupported.cmake
@@ -5,8 +5,8 @@
 CheckPIESupported
 -----------------
 
-Check whether the linker supports position independent code (PIE) or no
-position independent code (NO_PIE) for executables.
+Check whether the linker supports Position Independent Code (PIE) or No
+Position Independent Code (NO_PIE) for executables.
 Use this to ensure that the :prop_tgt:`POSITION_INDEPENDENT_CODE` target
 property for executables will be honored at link time.
 
diff --git a/Modules/FindALSA.cmake b/Modules/FindALSA.cmake
index f27d7fe..88e2681 100644
--- a/Modules/FindALSA.cmake
+++ b/Modules/FindALSA.cmake
@@ -5,9 +5,9 @@
 FindALSA
 --------
 
-Find alsa
+Find Advanced Linux Sound Architecture (ALSA)
 
-Find the alsa libraries (asound)
+Find the alsa libraries (``asound``)
 
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindAVIFile.cmake b/Modules/FindAVIFile.cmake
index c12512f..9655440 100644
--- a/Modules/FindAVIFile.cmake
+++ b/Modules/FindAVIFile.cmake
@@ -7,7 +7,7 @@
 
 Locate AVIFILE library and include paths
 
-AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
+AVIFILE (http://avifile.sourceforge.net/) is a set of libraries for
 i386 machines to use various AVI codecs.  Support is limited beyond
 Linux.  Windows provides native AVI support, and so doesn't need this
 library.  This module defines
diff --git a/Modules/FindArmadillo.cmake b/Modules/FindArmadillo.cmake
index ce76c99..c4e55ce 100644
--- a/Modules/FindArmadillo.cmake
+++ b/Modules/FindArmadillo.cmake
@@ -5,9 +5,8 @@
 FindArmadillo
 -------------
 
-Find Armadillo
-
-Find the Armadillo C++ library
+Find the Armadillo C++ library.
+Armadillo is library for linear algebra & scientific computing.
 
 Using Armadillo:
 
diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index b0e25dc..e75981c 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -16,7 +16,7 @@
   version of ``bison``
 
 ``BISON_FOUND``
-  true if the program was found
+  "True" if the program was found
 
 The minimum required version of ``bison`` can be specified using the
 standard CMake syntax, e.g.  :command:`find_package(BISON 2.1.3)`.
diff --git a/Modules/FindBacktrace.cmake b/Modules/FindBacktrace.cmake
index e1f45f7..cf1632a 100644
--- a/Modules/FindBacktrace.cmake
+++ b/Modules/FindBacktrace.cmake
@@ -5,30 +5,30 @@
 FindBacktrace
 -------------
 
-Find provider for backtrace(3).
+Find provider for `backtrace(3) <http://man7.org/linux/man-pages/man3/backtrace.3.html>`__.
 
-Checks if OS supports backtrace(3) via either libc or custom library.
+Checks if OS supports ``backtrace(3)`` via either ``libc`` or custom library.
 This module defines the following variables:
 
 ``Backtrace_HEADER``
-  The header file needed for backtrace(3). Cached.
+  The header file needed for ``backtrace(3)``. Cached.
   Could be forcibly set by user.
 ``Backtrace_INCLUDE_DIRS``
-  The include directories needed to use backtrace(3) header.
+  The include directories needed to use ``backtrace(3)`` header.
 ``Backtrace_LIBRARIES``
-  The libraries (linker flags) needed to use backtrace(3), if any.
+  The libraries (linker flags) needed to use ``backtrace(3)``, if any.
 ``Backtrace_FOUND``
-  Is set if and only if backtrace(3) support detected.
+  Is set if and only if ``backtrace(3)`` support detected.
 
 The following cache variables are also available to set or use:
 
 ``Backtrace_LIBRARY``
   The external library providing backtrace, if any.
 ``Backtrace_INCLUDE_DIR``
-  The directory holding the backtrace(3) header.
+  The directory holding the ``backtrace(3)`` header.
 
-Typical usage is to generate of header file using configure_file() with the
-contents like the following::
+Typical usage is to generate of header file using :command:`configure_file`
+with the contents like the following::
 
  #cmakedefine01 Backtrace_FOUND
  #if Backtrace_FOUND
diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake
index b1989b1..aeebc84 100644
--- a/Modules/FindCURL.cmake
+++ b/Modules/FindCURL.cmake
@@ -27,16 +27,16 @@
 This module defines the following variables:
 
 ``CURL_FOUND``
-  True if curl found.
+  "True" if ``curl`` found.
 
 ``CURL_INCLUDE_DIRS``
-  where to find curl/curl.h, etc.
+  where to find ``curl``/``curl.h``, etc.
 
 ``CURL_LIBRARIES``
-  List of libraries when using curl.
+  List of libraries when using ``curl``.
 
 ``CURL_VERSION_STRING``
-  The version of curl found.
+  The version of ``curl`` found.
 #]=======================================================================]
 
 find_package(PkgConfig QUIET)
diff --git a/Modules/FindCVS.cmake b/Modules/FindCVS.cmake
index 89dbc0e..f819800 100644
--- a/Modules/FindCVS.cmake
+++ b/Modules/FindCVS.cmake
@@ -5,7 +5,7 @@
 FindCVS
 -------
 
-
+Find the Concurrent Versions System (CVS).
 
 The module defines the following variables:
 
diff --git a/Modules/FindCups.cmake b/Modules/FindCups.cmake
index 2c79911..4e8232d 100644
--- a/Modules/FindCups.cmake
+++ b/Modules/FindCups.cmake
@@ -5,7 +5,7 @@
 FindCups
 --------
 
-Find the CUPS printing system.
+Find the Common UNIX Printing System (CUPS).
 
 Set ``CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE`` to ``TRUE`` if you need a version which
 features this function (i.e. at least ``1.1.19``)
diff --git a/Modules/FindCxxTest.cmake b/Modules/FindCxxTest.cmake
index 4eec5fc..321f004 100644
--- a/Modules/FindCxxTest.cmake
+++ b/Modules/FindCxxTest.cmake
@@ -5,7 +5,7 @@
 FindCxxTest
 -----------
 
-Find CxxTest
+Find CxxTest unit testing framework.
 
 Find the CxxTest suite and declare a helper macro for creating unit
 tests and integrating them with CTest.  For more details on CxxTest
diff --git a/Modules/FindCygwin.cmake b/Modules/FindCygwin.cmake
index 8811623..5bbc802 100644
--- a/Modules/FindCygwin.cmake
+++ b/Modules/FindCygwin.cmake
@@ -5,7 +5,8 @@
 FindCygwin
 ----------
 
-this module looks for Cygwin
+Find Cygwin, a POSIX-compatible environment that runs natively
+on Microsoft Windows
 #]=======================================================================]
 
 if (WIN32)
diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake
index 111e0ff..d48de08 100644
--- a/Modules/FindDCMTK.cmake
+++ b/Modules/FindDCMTK.cmake
@@ -5,7 +5,7 @@
 FindDCMTK
 ---------
 
-Find DCMTK libraries and applications
+Find DICOM ToolKit (DCMTK) libraries and applications
 
 The module defines the following variables::
 
diff --git a/Modules/FindEXPAT.cmake b/Modules/FindEXPAT.cmake
index 58e0841..15b419a 100644
--- a/Modules/FindEXPAT.cmake
+++ b/Modules/FindEXPAT.cmake
@@ -6,6 +6,7 @@
 ---------
 
 Find the native Expat headers and library.
+Expat is a stream-oriented XML parser library written in C.
 
 Imported Targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake
index 68eb9c8..09d57d2 100644
--- a/Modules/FindFLEX.cmake
+++ b/Modules/FindFLEX.cmake
@@ -5,7 +5,8 @@
 FindFLEX
 --------
 
-Find flex executable and provides a macro to generate custom build rules
+Find Fast Lexical Analyzer (Flex) executable and provides a macro
+to generate custom build rules
 
 
 
@@ -22,7 +23,7 @@
 
 
 The minimum required version of flex can be specified using the
-standard syntax, e.g.  find_package(FLEX 2.5.13)
+standard syntax, e.g.  :command:`find_package(FLEX 2.5.13)`
 
 
 
diff --git a/Modules/FindFLTK.cmake b/Modules/FindFLTK.cmake
index 89122c0..e273642 100644
--- a/Modules/FindFLTK.cmake
+++ b/Modules/FindFLTK.cmake
@@ -5,14 +5,14 @@
 FindFLTK
 --------
 
-Find the FLTK library
+Find the Fast Light Toolkit (FLTK) library
 
 Input Variables
 ^^^^^^^^^^^^^^^
 
 By default this module will search for all of the FLTK components and
-add them to the FLTK_LIBRARIES variable.  You can limit the components
-which get placed in FLTK_LIBRARIES by defining one or more of the
+add them to the ``FLTK_LIBRARIES`` variable.  You can limit the components
+which get placed in ``FLTK_LIBRARIES`` by defining one or more of the
 following three options:
 
 ``FLTK_SKIP_OPENGL``
diff --git a/Modules/FindFLTK2.cmake b/Modules/FindFLTK2.cmake
index 161d15c..a43f7a4 100644
--- a/Modules/FindFLTK2.cmake
+++ b/Modules/FindFLTK2.cmake
@@ -5,7 +5,7 @@
 FindFLTK2
 ---------
 
-Find the native FLTK2 includes and library
+Find the native FLTK 2.0 includes and library
 
 The following settings are defined
 
@@ -243,4 +243,3 @@
     endif()
   endif()
 endif()
-
diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
index 8522f9b..fde84d4 100644
--- a/Modules/FindGDAL.cmake
+++ b/Modules/FindGDAL.cmake
@@ -5,7 +5,7 @@
 FindGDAL
 --------
 
-Find GDAL.
+Find Geospatial Data Abstraction Library (GDAL).
 
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindGIF.cmake b/Modules/FindGIF.cmake
index 9687b57..d5a143e 100644
--- a/Modules/FindGIF.cmake
+++ b/Modules/FindGIF.cmake
@@ -5,7 +5,7 @@
 FindGIF
 -------
 
-This finds the GIF library (giflib)
+This finds the Graphics Interchange Format (GIF) library (``giflib``)
 
 Imported targets
 ^^^^^^^^^^^^^^^^
@@ -13,7 +13,7 @@
 This module defines the following :prop_tgt:`IMPORTED` target:
 
 ``GIF::GIF``
-  The giflib library, if found.
+  The ``giflib`` library, if found.
 
 Result variables
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindGLU.cmake b/Modules/FindGLU.cmake
index dbec6d1..9892805 100644
--- a/Modules/FindGLU.cmake
+++ b/Modules/FindGLU.cmake
@@ -15,4 +15,3 @@
   set (GLU_LIBRARY ${OPENGL_LIBRARIES})
   set (GLU_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
 endif ()
-
diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake
index d42db53..a22bf5b 100644
--- a/Modules/FindGLUT.cmake
+++ b/Modules/FindGLUT.cmake
@@ -5,7 +5,7 @@
 FindGLUT
 --------
 
-try to find glut library and include files.
+Find OpenGL Utility Toolkit (GLUT) library and include files.
 
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindGSL.cmake b/Modules/FindGSL.cmake
index db05121..da1b3c4 100644
--- a/Modules/FindGSL.cmake
+++ b/Modules/FindGSL.cmake
@@ -5,7 +5,7 @@
 FindGSL
 --------
 
-Find the native GSL includes and libraries.
+Find the native GNU Scientific Library (GSL) includes and libraries.
 
 The GNU Scientific Library (GSL) is a numerical library for C and C++
 programmers. It is free software under the GNU General Public
diff --git a/Modules/FindGTK.cmake b/Modules/FindGTK.cmake
index 8cc6c97..552b19a 100644
--- a/Modules/FindGTK.cmake
+++ b/Modules/FindGTK.cmake
@@ -5,7 +5,7 @@
 FindGTK
 -------
 
-try to find GTK (and glib) and GTKGLArea
+Find GTK, glib and GTKGLArea
 
 ::
 
@@ -151,6 +151,3 @@
   )
 
 endif()
-
-
-
diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake
index 3bd61a9..02e96c6 100644
--- a/Modules/FindGTK2.cmake
+++ b/Modules/FindGTK2.cmake
@@ -5,10 +5,8 @@
 FindGTK2
 --------
 
-FindGTK2.cmake
-
-This module can find the GTK2 widget libraries and several of its
-other optional components like gtkmm, glade, and glademm.
+Find the GTK2 widget libraries and several of its
+other optional components like ``gtkmm``, ``glade``, and ``glademm``.
 
 NOTE: If you intend to use version checking, CMake 2.6.2 or later is
 
diff --git a/Modules/FindGnuTLS.cmake b/Modules/FindGnuTLS.cmake
index 9c07444..4b4019c 100644
--- a/Modules/FindGnuTLS.cmake
+++ b/Modules/FindGnuTLS.cmake
@@ -5,7 +5,7 @@
 FindGnuTLS
 ----------
 
-Try to find the GNU Transport Layer Security library (gnutls)
+Find the GNU Transport Layer Security library (gnutls)
 
 
 
diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index 70bfc96..08863c8 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -5,43 +5,44 @@
 FindHDF5
 --------
 
-Find HDF5, a library for reading and writing self describing array data.
+Find Hierarchical Data Format (HDF5), a library for reading and writing
+self describing array data.
 
 
-This module invokes the HDF5 wrapper compiler that should be installed
-alongside HDF5.  Depending upon the HDF5 Configuration, the wrapper
-compiler is called either h5cc or h5pcc.  If this succeeds, the module
-will then call the compiler with the -show argument to see what flags
-are used when compiling an HDF5 client application.
+This module invokes the ``HDF5`` wrapper compiler that should be installed
+alongside ``HDF5``.  Depending upon the ``HDF5`` Configuration, the wrapper
+compiler is called either ``h5cc`` or ``h5pcc``.  If this succeeds, the module
+will then call the compiler with the show argument to see what flags
+are used when compiling an ``HDF5`` client application.
 
-The module will optionally accept the COMPONENTS argument.  If no
-COMPONENTS are specified, then the find module will default to finding
-only the HDF5 C library.  If one or more COMPONENTS are specified, the
+The module will optionally accept the ``COMPONENTS`` argument.  If no
+``COMPONENTS`` are specified, then the find module will default to finding
+only the ``HDF5`` C library.  If one or more ``COMPONENTS`` are specified, the
 module will attempt to find the language bindings for the specified
-components.  The only valid components are C, CXX, Fortran, HL, and
-Fortran_HL.  If the COMPONENTS argument is not given, the module will
+components.  The only valid components are ``C``, ``CXX``, ``Fortran``, ``HL``,
+and ``Fortran_HL``.  If the ``COMPONENTS`` argument is not given, the module will
 attempt to find only the C bindings.
 
 This module will read the variable
-HDF5_USE_STATIC_LIBRARIES to determine whether or not to prefer a
-static link to a dynamic link for HDF5 and all of it's dependencies.
-To use this feature, make sure that the HDF5_USE_STATIC_LIBRARIES
+``HDF5_USE_STATIC_LIBRARIES`` to determine whether or not to prefer a
+static link to a dynamic link for ``HDF5`` and all of it's dependencies.
+To use this feature, make sure that the ``HDF5_USE_STATIC_LIBRARIES``
 variable is set before the call to find_package.
 
-To provide the module with a hint about where to find your HDF5
-installation, you can set the environment variable HDF5_ROOT.  The
-Find module will then look in this path when searching for HDF5
+To provide the module with a hint about where to find your ``HDF5``
+installation, you can set the environment variable ``HDF5_ROOT``.  The
+Find module will then look in this path when searching for ``HDF5``
 executables, paths, and libraries.
 
-Both the serial and parallel HDF5 wrappers are considered and the first
+Both the serial and parallel ``HDF5`` wrappers are considered and the first
 directory to contain either one will be used.  In the event that both appear
 in the same directory the serial version is preferentially selected. This
-behavior can be reversed by setting the variable HDF5_PREFER_PARALLEL to
-true.
+behavior can be reversed by setting the variable ``HDF5_PREFER_PARALLEL`` to
+``True``.
 
 In addition to finding the includes and libraries required to compile
-an HDF5 client application, this module also makes an effort to find
-tools that come with the HDF5 distribution that may be useful for
+an ``HDF5`` client application, this module also makes an effort to find
+tools that come with the ``HDF5`` distribution that may be useful for
 regression testing.
 
 Result Variables
diff --git a/Modules/FindHSPELL.cmake b/Modules/FindHSPELL.cmake
index ec077a5..9724d2c 100644
--- a/Modules/FindHSPELL.cmake
+++ b/Modules/FindHSPELL.cmake
@@ -5,7 +5,7 @@
 FindHSPELL
 ----------
 
-Try to find Hspell
+Try to find Hebrew spell-checker (Hspell) and morphology engine.
 
 Once done this will define
 
diff --git a/Modules/FindIcotool.cmake b/Modules/FindIcotool.cmake
index 32fc4ae..d19c145 100644
--- a/Modules/FindIcotool.cmake
+++ b/Modules/FindIcotool.cmake
@@ -7,8 +7,8 @@
 
 Find icotool
 
-This module looks for icotool.  This module defines the following
-values:
+This module looks for icotool. Convert and create Win32 icon and cursor files.
+This module defines the following values:
 
 ::
 
diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake
index 2ddd11c..8bf5123 100644
--- a/Modules/FindImageMagick.cmake
+++ b/Modules/FindImageMagick.cmake
@@ -5,11 +5,11 @@
 FindImageMagick
 ---------------
 
-Find the ImageMagick binary suite.
+Find ImageMagick binary suite.
 
 This module will search for a set of ImageMagick tools specified as
-components in the FIND_PACKAGE call.  Typical components include, but
-are not limited to (future versions of ImageMagick might have
+components in the :command:`find_package` call.  Typical components include,
+but are not limited to (future versions of ImageMagick might have
 additional components not listed here):
 
 ::
@@ -28,7 +28,7 @@
 
 
 
-If no component is specified in the FIND_PACKAGE call, then it only
+If no component is specified in the :command:`find_package` call, then it only
 searches for the ImageMagick executable directory.  This code defines
 the following variables:
 
@@ -43,7 +43,7 @@
 
 
 
-ImageMagick_VERSION_STRING will not work for old versions like 5.2.3.
+``ImageMagick_VERSION_STRING`` will not work for old versions like 5.2.3.
 
 There are also components for the following ImageMagick APIs:
 
@@ -80,8 +80,8 @@
 
 
 
-Note that the standard FIND_PACKAGE features are supported (i.e.,
-QUIET, REQUIRED, etc.).
+Note that the standard :command:`find_package` features are supported (i.e.,
+``QUIET``, ``REQUIRED``, etc.).
 #]=======================================================================]
 
 find_package(PkgConfig QUIET)
diff --git a/Modules/FindJPEG.cmake b/Modules/FindJPEG.cmake
index f50f79e..0bb6989 100644
--- a/Modules/FindJPEG.cmake
+++ b/Modules/FindJPEG.cmake
@@ -5,7 +5,7 @@
 FindJPEG
 --------
 
-Find the JPEG library (libjpeg)
+Find the Joint Photographic Experts Group (JPEG) library (``libjpeg``)
 
 Imported targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindKDE3.cmake b/Modules/FindKDE3.cmake
index c7ad6e1..f916359 100644
--- a/Modules/FindKDE3.cmake
+++ b/Modules/FindKDE3.cmake
@@ -35,7 +35,7 @@
 ``KDE3_BUILD_TESTS``
   enable this to build KDE testcases
 
-It also adds the following macros (from KDE3Macros.cmake) SRCS_VAR is
+It also adds the following macros (from ``KDE3Macros.cmake``) ``SRCS_VAR`` is
 always the variable which contains the list of source files for your
 application or library.
 
@@ -358,4 +358,3 @@
 
 #add the found Qt and KDE include directories to the current include path
 set(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR})
-
diff --git a/Modules/FindKDE4.cmake b/Modules/FindKDE4.cmake
index c04804b..2a1838f 100644
--- a/Modules/FindKDE4.cmake
+++ b/Modules/FindKDE4.cmake
@@ -19,7 +19,7 @@
 
 
 
-Please look in FindKDE4Internal.cmake and KDE4Macros.cmake for more
+Please look in ``FindKDE4Internal.cmake`` and ``KDE4Macros.cmake`` for more
 information.  They are installed with the KDE 4 libraries in
 $KDEDIRS/share/apps/cmake/modules/.
 
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index d6646ea..6582eea 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -5,13 +5,13 @@
 FindLAPACK
 ----------
 
-Find LAPACK library
+Find Linear Algebra PACKage (LAPACK) library
 
 This module finds an installed fortran library that implements the
 LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
 
 The approach follows that taken for the autoconf macro file,
-acx_lapack.m4 (distributed at
+``acx_lapack.m4`` (distributed at
 http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html).
 
 Input Variables
diff --git a/Modules/FindLATEX.cmake b/Modules/FindLATEX.cmake
index 01f4793..b365d63 100644
--- a/Modules/FindLATEX.cmake
+++ b/Modules/FindLATEX.cmake
@@ -5,9 +5,9 @@
 FindLATEX
 ---------
 
-Find Latex
+Find LaTeX
 
-This module finds an installed Latex and determines the location
+This module finds an installed LaTeX and determines the location
 of the compiler.  Additionally the module looks for Latex-related
 software like BibTeX.
 
diff --git a/Modules/FindLTTngUST.cmake b/Modules/FindLTTngUST.cmake
index a074187..9cd17eb 100644
--- a/Modules/FindLTTngUST.cmake
+++ b/Modules/FindLTTngUST.cmake
@@ -5,7 +5,8 @@
 FindLTTngUST
 ------------
 
-This module finds the `LTTng-UST <http://lttng.org/>`__ library.
+Find
+`Linux Trace Toolkit Next Generation (LTTng-UST) <http://lttng.org/>`__ library.
 
 Imported target
 ^^^^^^^^^^^^^^^
diff --git a/Modules/FindLibArchive.cmake b/Modules/FindLibArchive.cmake
index 34fc2e2..ef27b7d 100644
--- a/Modules/FindLibArchive.cmake
+++ b/Modules/FindLibArchive.cmake
@@ -5,7 +5,8 @@
 FindLibArchive
 --------------
 
-Find libarchive library and headers
+Find libarchive library and headers.
+Libarchive is multi-format archive and compression library.
 
 The module defines the following variables:
 
diff --git a/Modules/FindLibXslt.cmake b/Modules/FindLibXslt.cmake
index 4cca64f..01a9d8b 100644
--- a/Modules/FindLibXslt.cmake
+++ b/Modules/FindLibXslt.cmake
@@ -5,7 +5,8 @@
 FindLibXslt
 -----------
 
-Try to find the LibXslt library
+Find the XSL Transformations, Extensible Stylesheet Language
+Transformations (XSLT) library (LibXslt)
 
 Once done this will define
 
diff --git a/Modules/FindLua.cmake b/Modules/FindLua.cmake
index eb3b5fb..d229e18 100644
--- a/Modules/FindLua.cmake
+++ b/Modules/FindLua.cmake
@@ -7,7 +7,9 @@
 
 
 
-Locate Lua library This module defines
+Locate Lua library.
+
+This module defines::
 
 ::
 
diff --git a/Modules/FindLua50.cmake b/Modules/FindLua50.cmake
index 52a54e7..0575caa 100644
--- a/Modules/FindLua50.cmake
+++ b/Modules/FindLua50.cmake
@@ -7,7 +7,8 @@
 
 
 
-Locate Lua library This module defines
+Locate Lua library.
+This module defines::
 
 ::
 
@@ -87,4 +88,3 @@
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua50  DEFAULT_MSG  LUA_LIBRARIES LUA_INCLUDE_DIR)
 
 mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES)
-
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index 1c9029b..283a3eb 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -7,7 +7,8 @@
 
 
 
-Locate Lua library This module defines
+Locate Lua library.
+This module defines::
 
 ::
 
@@ -81,4 +82,3 @@
                                   VERSION_VAR LUA_VERSION_STRING)
 
 mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
-
diff --git a/Modules/FindMFC.cmake b/Modules/FindMFC.cmake
index 9738ac5..e366619 100644
--- a/Modules/FindMFC.cmake
+++ b/Modules/FindMFC.cmake
@@ -5,7 +5,7 @@
 FindMFC
 -------
 
-Find MFC on Windows
+Find Microsoft Foundation Class Library (MFC) on Windows
 
 Find the native MFC - i.e.  decide if an application can link to the
 MFC libraries.
diff --git a/Modules/FindOpenAL.cmake b/Modules/FindOpenAL.cmake
index 18f3ff6..27dcaf5 100644
--- a/Modules/FindOpenAL.cmake
+++ b/Modules/FindOpenAL.cmake
@@ -6,15 +6,15 @@
 ----------
 
 
+Finds Open Audio Library (OpenAL).
+This module defines ``OPENAL_LIBRARY OPENAL_FOUND``, if
+false, do not try to link to OpenAL ``OPENAL_INCLUDE_DIR``, where to find
+the headers.
 
-Locate OpenAL This module defines OPENAL_LIBRARY OPENAL_FOUND, if
-false, do not try to link to OpenAL OPENAL_INCLUDE_DIR, where to find
-the headers
+``$OPENALDIR`` is an environment variable that would correspond to the
+``./configure --prefix=$OPENALDIR`` used in building OpenAL.
 
-$OPENALDIR is an environment variable that would correspond to the
-./configure --prefix=$OPENALDIR used in building OpenAL.
-
-Created by Eric Wing.  This was influenced by the FindSDL.cmake
+Created by Eric Wing.  This was influenced by the ``FindSDL.cmake``
 module.
 #]=======================================================================]
 
diff --git a/Modules/FindOpenCL.cmake b/Modules/FindOpenCL.cmake
index 79c0382..9891724 100644
--- a/Modules/FindOpenCL.cmake
+++ b/Modules/FindOpenCL.cmake
@@ -5,7 +5,7 @@
 FindOpenCL
 ----------
 
-Try to find OpenCL
+Finds Open Computing Language (OpenCL)
 
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
diff --git a/Modules/FindOpenGL.cmake b/Modules/FindOpenGL.cmake
index 00db033..23bb001d 100644
--- a/Modules/FindOpenGL.cmake
+++ b/Modules/FindOpenGL.cmake
@@ -5,7 +5,7 @@
 FindOpenGL
 ----------
 
-FindModule for OpenGL and GLU.
+FindModule for OpenGL and OpenGL Utility Library (GLU).
 
 Optional COMPONENTS
 ^^^^^^^^^^^^^^^^^^^
@@ -23,9 +23,9 @@
 ``OpenGL::OpenGL``
  Defined to libOpenGL if the system is GLVND-based.
 ``OpenGL::GLU``
- Defined if the system has GLU.
+ Defined if the system has OpenGL Utility Library (GLU).
 ``OpenGL::GLX``
- Defined if the system has GLX.
+ Defined if the system has OpenGL Extension to the X Window System (GLX).
 ``OpenGL::EGL``
  Defined if the system has EGL.
 
diff --git a/Modules/FindOpenMP.cmake b/Modules/FindOpenMP.cmake
index 5a34b9e..b909db8 100644
--- a/Modules/FindOpenMP.cmake
+++ b/Modules/FindOpenMP.cmake
@@ -5,7 +5,7 @@
 FindOpenMP
 ----------
 
-Finds OpenMP support
+Finds Open Multi-Processing (OpenMP) support.
 
 This module can be used to detect OpenMP support in a compiler.  If
 the compiler supports OpenMP, the flags required to compile with
diff --git a/Modules/FindOpenSceneGraph.cmake b/Modules/FindOpenSceneGraph.cmake
index 6f7d3c8..27909bc 100644
--- a/Modules/FindOpenSceneGraph.cmake
+++ b/Modules/FindOpenSceneGraph.cmake
@@ -5,11 +5,11 @@
 FindOpenSceneGraph
 ------------------
 
-Find OpenSceneGraph
+Find OpenSceneGraph (3D graphics application programming interface)
 
 This module searches for the OpenSceneGraph core "osg" library as well
-as OpenThreads, and whatever additional COMPONENTS (nodekits) that you
-specify.
+as :module:`FindOpenThreads`, and whatever additional ``COMPONENTS``
+(nodekits) that you specify.
 
 ::
 
@@ -17,10 +17,11 @@
 
 
 
-NOTE: To use this module effectively you must either require CMake >=
-2.6.3 with cmake_minimum_required(VERSION 2.6.3) or download and place
-FindOpenThreads.cmake, Findosg_functions.cmake, Findosg.cmake, and
-Find<etc>.cmake files into your CMAKE_MODULE_PATH.
+NOTE: To use this module effectively you must either require ``CMake >=
+2.6.3`` with  :command:`cmake_minimum_required(VERSION 2.6.3)` or download
+and place :module:`FindOpenThreads`, :module:`Findosg` functions,
+:module:`Findosg` and ``Find<etc>.cmake`` files into your
+:variable:`CMAKE_MODULE_PATH`.
 
 ==================================
 
@@ -40,11 +41,12 @@
 
 
 The following environment variables are also respected for finding the
-OSG and it's various components.  CMAKE_PREFIX_PATH can also be used
-for this (see find_library() CMake documentation).
+OSG and it's various components.  :variable:`CMAKE_PREFIX_PATH` can also be
+used for this (see :command:`find_library` CMake documentation).
 
 ``<MODULE>_DIR``
-  (where MODULE is of the form "OSGVOLUME" and there is a FindosgVolume.cmake file)
+  (where ``MODULE`` is of the form "OSGVOLUME" and there is
+  a :module:`FindosgVolume`.cmake` file)
 ``OSG_DIR``
   ..
 ``OSGDIR``
@@ -53,7 +55,7 @@
   ..
 
 
-[CMake 2.8.10]: The CMake variable OSG_DIR can now be used as well to
+[CMake 2.8.10]: The CMake variable ``OSG_DIR`` can now be used as well to
 influence detection, instead of needing to specify an environment
 variable.
 
diff --git a/Modules/FindSWIG.cmake b/Modules/FindSWIG.cmake
index 49f303e..a5e3a37 100644
--- a/Modules/FindSWIG.cmake
+++ b/Modules/FindSWIG.cmake
@@ -5,13 +5,13 @@
 FindSWIG
 --------
 
-Find SWIG
+Find Simplified Wrapper and Interface Generator (SWIG)
 
 This module finds an installed SWIG.  It sets the following variables:
 
 ::
 
-  SWIG_FOUND - set to true if SWIG is found
+  SWIG_FOUND - set to "True" if SWIG is found
   SWIG_DIR - the directory where swig is installed
   SWIG_EXECUTABLE - the path to the swig executable
   SWIG_VERSION   - the version number of the swig executable
diff --git a/Modules/FindVulkan.cmake b/Modules/FindVulkan.cmake
index b1201b4..ae8d72d 100644
--- a/Modules/FindVulkan.cmake
+++ b/Modules/FindVulkan.cmake
@@ -5,7 +5,8 @@
 FindVulkan
 ----------
 
-Try to find Vulkan
+Find Vulkan, which isis a low-overhead, cross-platform 3D graphics
+and computing API.
 
 IMPORTED Targets
 ^^^^^^^^^^^^^^^^
@@ -18,7 +19,7 @@
 
 This module defines the following variables::
 
-  Vulkan_FOUND          - True if Vulkan was found
+  Vulkan_FOUND          - "True" if Vulkan was found
   Vulkan_INCLUDE_DIRS   - include directories for Vulkan
   Vulkan_LIBRARIES      - link against this library to use Vulkan
 
diff --git a/Modules/Findosg.cmake b/Modules/Findosg.cmake
index bb28454..027f315 100644
--- a/Modules/Findosg.cmake
+++ b/Modules/Findosg.cmake
@@ -7,8 +7,6 @@
 
 
 
-
-
 NOTE: It is highly recommended that you use the new
 FindOpenSceneGraph.cmake introduced in CMake 2.6.3 and not use this
 Find module directly.
diff --git a/Modules/FindosgDB.cmake b/Modules/FindosgDB.cmake
index d0789ba..a28f650 100644
--- a/Modules/FindosgDB.cmake
+++ b/Modules/FindosgDB.cmake
@@ -7,30 +7,38 @@
 
 
 
-This is part of the Findosg* suite used to find OpenSceneGraph
+This is part of the ``Findosg*`` suite used to find OpenSceneGraph
 components.  Each component is separate and you must opt in to each
 module.  You must also opt into OpenGL and OpenThreads (and Producer
 if needed) as these modules won't do it for you.  This is to allow you
 control over your own system piece by piece in case you need to opt
 out of certain components or change the Find behavior for a particular
-module (perhaps because the default FindOpenGL.cmake module doesn't
+module (perhaps because the default :module:`FindOpenGL` module doesn't
 work with your system as an example).  If you want to use a more
 convenient module that includes everything, use the
-FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
+:module:`FindOpenSceneGraph` instead of the ``Findosg*.cmake`` modules.
 
-Locate osgDB This module defines
+Locate osgDB This module defines:
 
-OSGDB_FOUND - Was osgDB found? OSGDB_INCLUDE_DIR - Where to find the
-headers OSGDB_LIBRARIES - The libraries to link against for the osgDB
-(use this)
+``OSGDB_FOUND``
+  Was osgDB found?
 
-OSGDB_LIBRARY - The osgDB library OSGDB_LIBRARY_DEBUG - The osgDB
-debug library
+``OSGDB_INCLUDE_DIR``
+  Where to find the headers
 
-$OSGDIR is an environment variable that would correspond to the
-./configure --prefix=$OSGDIR used in building osg.
+``OSGDB_LIBRARIES``
+  The libraries to link against for the osgDB
 
-Created by Eric Wing.
+``OSGDB_LIBRARY``
+  The osgDB library
+
+``OSGDB_LIBRARY_DEBUG``
+  The osgDB debug library
+
+``$OSGDIR`` is an environment variable that would correspond to::
+
+  ./configure --prefix=$OSGDIR used in building osg.
+
 #]=======================================================================]
 
 # Header files are presumed to be included like
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index fa9ebda..21505c5 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 14)
-set(CMake_VERSION_PATCH 20190424)
+set(CMake_VERSION_PATCH 20190425)
 #set(CMake_VERSION_RC 1)
diff --git a/Source/CTest/cmCTestUpdateHandler.cxx b/Source/CTest/cmCTestUpdateHandler.cxx
index e3b7e9e..5cfc4a7 100644
--- a/Source/CTest/cmCTestUpdateHandler.cxx
+++ b/Source/CTest/cmCTestUpdateHandler.cxx
@@ -199,6 +199,10 @@
   xml.Element("UpdateCommand", vc->GetUpdateCommandLine());
   xml.Element("UpdateType",
               cmCTestUpdateHandlerUpdateToString(this->UpdateType));
+  std::string changeId = this->CTest->GetCTestConfiguration("ChangeId");
+  if (!changeId.empty()) {
+    xml.Element("ChangeId", changeId);
+  }
 
   bool loadedMods = vc->WriteXML(xml);
 
diff --git a/Source/CTest/cmCTestUploadHandler.cxx b/Source/CTest/cmCTestUploadHandler.cxx
index ee9ee91..9efdf70 100644
--- a/Source/CTest/cmCTestUploadHandler.cxx
+++ b/Source/CTest/cmCTestUploadHandler.cxx
@@ -51,7 +51,7 @@
                   this->CTest->GetTestModelString());
   xml.Attribute("Name", this->CTest->GetCTestConfiguration("Site"));
   xml.Attribute("Generator",
-                std::string("ctest") + cmVersion::GetCMakeVersion());
+                std::string("ctest-") + cmVersion::GetCMakeVersion());
   this->CTest->AddSiteProperties(xml);
   xml.StartElement("Upload");
 
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 709feac..003ebdc 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -1523,7 +1523,7 @@
                 this->Impl->CurrentTag + "-" + this->GetTestModelString());
   xml.Attribute("Name", this->GetCTestConfiguration("Site"));
   xml.Attribute("Generator",
-                std::string("ctest") + cmVersion::GetCMakeVersion());
+                std::string("ctest-") + cmVersion::GetCMakeVersion());
   this->AddSiteProperties(xml);
   xml.StartElement("Notes");
 
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 4973e55..2b78171 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -259,6 +259,7 @@
 add_RunCMake_test(ctest_test)
 add_RunCMake_test(ctest_disabled_test)
 add_RunCMake_test(ctest_skipped_test)
+add_RunCMake_test(ctest_update -DGIT_EXECUTABLE=${GIT_EXECUTABLE})
 add_RunCMake_test(ctest_upload)
 add_RunCMake_test(ctest_fixtures)
 add_RunCMake_test(file)
diff --git a/Tests/RunCMake/ctest_update/CMakeLists.txt.in b/Tests/RunCMake/ctest_update/CMakeLists.txt.in
new file mode 100644
index 0000000..ecf0e54
--- /dev/null
+++ b/Tests/RunCMake/ctest_update/CMakeLists.txt.in
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 3.1)
+project(CTestTest@CASE_NAME@ NONE)
+include(CTest)
+@CASE_CMAKELISTS_SUFFIX_CODE@
diff --git a/Tests/RunCMake/ctest_update/RunCMakeTest.cmake b/Tests/RunCMake/ctest_update/RunCMakeTest.cmake
new file mode 100644
index 0000000..0e1748f
--- /dev/null
+++ b/Tests/RunCMake/ctest_update/RunCMakeTest.cmake
@@ -0,0 +1,17 @@
+include(RunCTest)
+set(CASE_CTEST_UPDATE_ARGS "")
+function(run_ctest_update CASE_NAME)
+  set(CASE_CTEST_UPDATE_ARGS "${ARGN}")
+  run_ctest(${CASE_NAME})
+endfunction()
+
+run_ctest_update(TestQuiet QUIET)
+
+function(run_TestChangeId)
+  set(CASE_TEST_PREFIX_CODE [[
+    set(CTEST_CHANGE_ID "<>1")
+  ]])
+
+  run_ctest(TestChangeId)
+endfunction()
+run_TestChangeId()
diff --git a/Tests/RunCMake/ctest_update/UpdateChangeId-check.cmake b/Tests/RunCMake/ctest_update/UpdateChangeId-check.cmake
new file mode 100644
index 0000000..9269fbc
--- /dev/null
+++ b/Tests/RunCMake/ctest_update/UpdateChangeId-check.cmake
@@ -0,0 +1,12 @@
+file(GLOB update_xml_file "${RunCMake_TEST_BINARY_DIR}/Testing/*/Update.xml")
+if(update_xml_file)
+  file(READ "${update_xml_file}" update_xml LIMIT 4096)
+  if(NOT update_xml MATCHES [[ChangeId="&lt;&gt;1"]])
+    string(REPLACE "\n" "\n  " update_xml "  ${update_xml}")
+    set(RunCMake_TEST_FAILED
+      "Update.xml does not have expected ChangeId:\n${update_xml}"
+      )
+  endif()
+else()
+  set(RunCMake_TEST_FAILED "Update.xml not found")
+endif()
diff --git a/Tests/RunCMake/ctest_update/test.cmake.in b/Tests/RunCMake/ctest_update/test.cmake.in
new file mode 100644
index 0000000..abbef74
--- /dev/null
+++ b/Tests/RunCMake/ctest_update/test.cmake.in
@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.1)
+@CASE_TEST_PREFIX_CODE@
+
+set(CTEST_SITE                          "test-site")
+set(CTEST_BUILD_NAME                    "test-build-name")
+set(CTEST_SOURCE_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@")
+set(CTEST_BINARY_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@-build")
+set(CTEST_CMAKE_GENERATOR               "@RunCMake_GENERATOR@")
+set(CTEST_CMAKE_GENERATOR_PLATFORM      "@RunCMake_GENERATOR_PLATFORM@")
+set(CTEST_CMAKE_GENERATOR_TOOLSET       "@RunCMake_GENERATOR_TOOLSET@")
+set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_UPDATE_COMMAND                "@GIT_EXECUTABLE@")
+
+set(ctest_test_args "@CASE_CTEST_UPDATE_ARGS@")
+ctest_start(Experimental)
+ctest_update(${ctest_update_args})