cmGlobalGenerator: Do not propagate const through GetCMakeInstance

Combine the const and non-const GetCMakeInstance to a const one and
return a pointer to non-const cmake from it.
Refactor tool selection for edit_cache (#14544)

Refactor edit_cache tool selection to ask each global generator for its
preference.  Teach the Ninja generator to always use cmake-gui because
Ninja by design cannot run interactive terminal dialogs like ccmake.
Teach the Makefile generator to use cmake-gui when also using an "extra"
generator whose IDE has no terminal to run ccmake, and otherwise fall
back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
add_library: Fix INTERFACE on platforms with no shared libs (#14561)
create_test_sourcelist: Fix linkage in generated test driver code

Mark private function/global with static linkage.
ExternalData: Format module documentation

Manually revise the .rst format of the documentation.  Use inline
literal quotes appropriately in paragraph text.  Move the :: literal
block openers to the end of the preceding paragraphs.  Convert the
command signature documentation and examples to cmake code-block
directives.
ExternalData: Show example network path URL template

In the ExternalData_URL_TEMPLATES example, add an entry showing how to
use the "file://" protocol with a network filesystem path.
CMP0039: Add missing '.' to policy summary line
CMP0038: Add missing '.' to policy summary line
CPackWiX: Add variables for custom tool extensions and flags
Configure NSIS-packaged CMake documentation link in Start Menu

Now that we use Sphinx to generate the documentation there is a single
entry point to link from the start menu.  Drop all the (now broken)
links to the individual html document pages and provide a single link to
the index.html "CMake Documentation" entry point.
Configure NSIS-packaged CMake version and install destination

Remove the version number from the default package install destination.
An unversioned default allows users to upgrade their CMake installations
without manually re-generating all their build trees to update the path
to CMake.  Users can select a versioned directory name on installation
if they wish.

Also name the package with the full CMake version number so it is clear
exactly what version is going to be installed.  This is particularly
helpful for the nightly binary installers.
OS X: Drop version number from CMake.app bundle name (#11693)

Always name the application bundle "CMake.app".  Users can rename it
after installation if they wish.  This is the typical approach used by
OS X applications, including Xcode.  It allows CMake to be upgraded
without manually re-running CMake in every build tree to update the path
to CMake.  It also makes the executable location in the CMake build tree
more predicatable.
bootstrap: Parse Copyright.txt instead of duplicating notice

Use 'grep' to extract the copyright notice from Copyright.txt instead of
duplicating it in the bootstrap script.
cmake-gui: Parse Copyright.txt instead of duplicating notice

Set the cmake-gui MACOSX_BUNDLE_COPYRIGHT property by parsing the
copyright notice line out of Copyright.txt instead of duplicating it.
Copyright.txt: Update year range to end in 2013
Copyright.txt: Add test to check year range

Add a CMake.Copyright test that, when the CMake version number knows the
year (as it does in development versions), checks that Copyright.txt has
been updated with the current version year.
CMake Nightly Date Stamp
Help: Parse Copyright.txt instead of using current year

Configure our Sphinx conf.py with a copyright line extracted from
Copyright.txt instead of using the year in which the documentation is
built.  This will future-proof the reported copyright year range when
building documentation for old versions.
Merge topic 'cleanup-edit_cache-target'

684063c Refactor tool selection for edit_cache (#14544)
eaf5b7a cmGlobalGenerator: Do not propagate const through GetCMakeInstance
Merge topic 'wix-custom-arguments'

096591b CPackWiX: Add variables for custom tool extensions and flags