Merge branch 'no-cmake-self-install-when-cross-compiling' into release
string: Tolerate SUBSTRING length exceeding end index

string SUBSTRING command now ignores length if it points
past end of string and uses end of string instead.
String SUBSTRING tests now cover more corner cases.
cmCallVisualStudioMacro: fix a shadowing warning
cmVisualStudio10TargetGenerator: fix a narrowing warning

0xAA literals are integers which doesn't fit into a char array. C++11
says this is an error and VS2015 now warns about it.
Merge branch 'vs-nsight-tegra-version' into release
VS: Improve error messages when compiler is not detected (#15228)

CMake requires both the Desktop SDK and the correct platform SDK
(Windows Phone or Windows Store) to be installed when targeting the
Windows mobile platforms.  Verify that the right platform components are
installed and give a more detailed error message when something is
wrong.
Tests: Test add_custom_command and add_custom_target error cases

Add RunCMake.add_custom_command and RunCMake.add_custom_target tests to
cover the error messages for these commands.
Rename doing_verbatim to doing_nothing

We are about to introduce another property here, so give this
a better name.
Add USES_TERMINAL option for custom commands

Teach the add_custom_command and add_custom_target commands a new
USES_TERMINAL option.  Use it to tell the generator to give the command
direct access to the terminal if possible.
Give the interactive cache editor the USES_TERMINAL property
Ninja: factor out the test for console pool support
Ninja: Remove unused declaration
Ninja: Implement USES_TERMINAL using the console pool if available
Help: Add notes for topic 'console-pool'
CPackRPM: remove unneeded string length calculation

This wants just the rest of the string, which can be achieved by passing -1 as
remainder length.
KWSys SharedForward: Hard-code the ldpath buffer size to below VS 14 limit

Visual Studio 14 (2015) complains if a static character array is
declared with more than 65535 elements.  This limit should be large
enough for SharedForward clients, so just hard-code that instead of
trying to compute a limit.
VS: Rename VS 14 generator to 'Visual Studio 14 2015'

Now that we know the year component of this VS version we
can add it to the generator name.  For convenience, map
the name without the year to the name with the year.
Merge branch 'release'
Tests/BuildDepends: Drop unneeded help for Ninja

The extra post-modification invocations of 'ninja' does not seem to be
needed anymore for the BuildDepends test to pass.
Ninja: Use a TARGET_FILE variable to hold the link output file

Use an explicit "$TARGET_FILE" variable instead of "$out" so that
we can have multiple output files while still only referencing the
main one in command lines.