bootstrap: Report -rc# in --version output
Factor CMake version logic into dedicated module

Move logic to compute CMake_VERSION out of the top-level CMakeLists.txt
file to a dedicated Source/CMakeVersionCompute.cmake module and include
it from the original location.  This will allow it to be re-used.
Cleanup use of CMake version in install destinations

Factor the CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR selection
out of CMakeLists.txt and into a Source/CMakeInstallDestinations.cmake
script.  Load the script from the original location of the code.

Cache the destination values as empty strings so we know if the user
sets them explicitly.  If not, then compute defaults based on the
platform and full CMake version string.  By not caching the versioned
defaults, we can change them in a single build tree as the version
changes.

Remove duplication of the install destination defaults from the
bootstrap script.  Cache empty defaults there too.  Parse from the CMake
code the default values to report in the help output.  Keep the CMake
code in a structured format to make this reliable.
cmake: Add --help-policy-list option

All the other --help-<item> options have a corresponding option
--help-<item>-list.  Add one for --help-policy.
cmDocumentation: Drop version output from usage and text help

Drop the "cmake version ..." line from the top of usage and text help
formats.  Print it only when requested with --version or similar option.
Rename Docs to Auxiliary

The directory contains auxiliary support files for integration with
other tools, not documentation.
Move cmake.m4 from Utilities to Auxiliary

The latter fits more consistently with other third party integration
files.
Drop xmllint documentation tests

Drop these tests since we will drop docbook output along with other
documentation formatters.
Set IDE folder for CMake 'documentation' target only if it exists

The documentation target will be come optional, so do not reference it
when it does not exist.
Drop documentation generation during build

Drop the 'documentation' build target.  We will no longer use the
executables to generate their own documentation.  New infrastructure
will be introduced later to generate documentation.
Drop CMAKE_STRICT mode

With our modern development workflow it is less likely a property will
be added to C++ code without documentation.  This mode only existed to
support the DocTest which had very limited coverage of the properties
anyway.
Drop definition of internal property

The property __CMAKE_DELETE_CACHE_CHANGE_VARS_ is not meant for public
exposure.
Drop CPack module documentation markup extraction

This will be replaced by alternative markup later.
Add reStructuredText (RST) documentation formatter

Temporarily add a RST formatter to convert builtin documentation to .rst
source files.  This will be removed shortly after we use it to convert
documentation.

Teach the RST formatter to:

* Output preformatted blocks as reStructuredText "::" literal blocks.

* Output option lists as bullet lists with option names enclosed in
  reStructuredText ``literal`` quoting.

* Output individual documentation objects (commands, variables, etc.)
  in separate .rst files organized in directories by type.

Replace references to cmVersion::GetCMakeVersion() in builtin
documentation with the literal placeholder "|release|" that will be
defined as a substitution later.
Add Help/generator/*.rst for Windows- and OS X-only generators

Run "cmake --help-full cmake.1.rst" by hand on Windows and OS X.
Copy the generator/*.rst documents for generators unique to those
platforms into Help/generator.
Add bash script to convert builtin help to reStructuredText

Create a convert-help.bash script to extract builtin documentation as
reStructuredText sources in a new Help directory.  Run each executable
with the --help-full option targeting a .rst file to extract the
documentation.  Generate Sphinx "toctree" directives to point each man
page at the corresponding documents it should contain.  Organize
cmake-commands(7), cmake-properties(7), and cmake-variables(7) man pages
into sections similar to those generated by --help-properties and
--help-variables output previously.
Convert builtin help to reStructuredText source files

Run the convert-help.bash script to convert documentation:

 ./convert-help.bash "/path/to/CMake-build/bin"

Then remove it.
ExternalProject: Restore documentation indentation level

This module parses its own documentation to extract supported options.
Fix the indentation level to match that expected by the parser.
Help: Add index.rst top-level document

Add a top-level document holding the Sphinx root toctree.  List all
reference manuals from Help/manual/*.rst and the Sphinx-generated
general index (genindex) and search pages.
Help: Fix reStructuredText syntax in auto-generated documents