cmGlobalVisualStudio10Generator: Re-order some methods

Order SetSystemName and SetGeneratorToolset method declarations
and definitions as they are called.
VS: Refactor internal default platform name selection

Rename the 'PlatformName' member to 'DefaultPlatformName' and make
sure it is only read through a 'GetPlatformName()' call.  This will
allow non-default names to be chosen later.
Help: Document CMAKE_VS_PLATFORM_NAME variable
CMake: Add CMAKE_GENERATOR_PLATFORM option

Reject the option by default.  It will be implemented on a per-generator
basis.  Pass the setting into try_compile project generation.  Add cache
entry CMAKE_GENERATOR_PLATFORM and associated variable documentation to
hold the value persistently.

Add a RunCMake.GeneratorPlatform test to cover basic use cases for the
option.  Verify that CMAKE_GENERATOR_PLATFORM is empty by default, and
that it is rejected when the generator does not support a user setting.
VS: Implement CMAKE_GENERATOR_PLATFORM for VS >= 8

For VS generator names that do not specify the platform name, read
CMAKE_GENERATOR_PLATFORM to get it.

Extend the RunCMake.GeneratorPlatform test with a case covering
use of the x64 platform when the test generator is a Visual Studio
generator whose name does not specify a platform.
CTest: Add options to set generator platform

The ctest_configure command already reads the CTEST_CMAKE_GENERATOR
variable to get the value for the cmake -G option.  Read new variable
CTEST_CMAKE_GENERATOR_PLATFORM to pass on as CMAKE_GENERATOR_PLATFORM.

The "ctest --build-and-test" mode already has "--build-generator" to
specify the -G option to CMake.  Add a "--build-generator-platform" option
to specify a value to pass on as CMAKE_GENERATOR_PLATFORM.
ExternalProject: Propagate the generator platform

When the CMAKE_GENERATOR option is given to ExternalProject_Add, look
also for option CMAKE_GENERATOR_PLATFORM to pass on to cmake as a cache
definition.  When no CMAKE_GENERATOR option is given explicitly then use
the current project's CMAKE_GENERATOR_PLATFORM (since we already use its
CMAKE_GENERATOR).
CMake Nightly Date Stamp
CMake Nightly Date Stamp
CMake Nightly Date Stamp
Merge topic 'fix-clang-cross-compile-find-binutils'

72d66818 Fix finding binutils when cross-compiling with Clang
Merge branch 'release'
Help: Suggest in add_custom_command how to create a script (#15112)
ExternalProject: Avoid infinite loop on file download hash mismatch

When the loop was added by commit v3.0.0-rc1~103^2~3 (ExternalProject:
Reattempt download when verification fails, 2015-01-15), we forgot to
actually increment the loop counter.  Add the increment line.
Merge branch 'ExternalProject-download-loop' into release
CMake 3.0.2
CMake Nightly Date Stamp
KWSys 2014-09-08 (fb77be5a)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ fb77be5a | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 32023afd..fb77be5a
Brad King (1):
      80e852f6 kwsysPlatformTests: Use if(DEFINED) to simplify conditions

Clinton Stimpson (2):
      93eb1a1f SystemTools: Improve RelativePath() to handle ./ ../ and //
      fb77be5a SystemTools: Fix GetCasePathName to handle wildcards on Windows.

Change-Id: Ieff09366e214055be0b62eae42fc64f3bb3b6e76
Merge branch 'upstream-kwsys' into update-kwsys
Tolerate symlinks during RPATH ordering (#13429)

On Arch Linux, /lib and /lib64 are symlinks to /usr/lib.  When ordering
runtime library search paths, we must not consider these to be distinct
directories.  Before considering conflicts between two directories,
check that they do not have the same 'realpath'.

Inspired-by: Myles English <mylesenglish@gmail.com>