cmake: Drop support for "-i" wizard mode

Tell users to pass cache values with the -D option on the command line
or use cmake-gui or ccmake.
cmake: Always pass through stdout/stderr in --build mode

Enable the --use-stderr behavior by default and ignore the old option.
Passing through the pipes allows color terminal output and other things
to work as if one ran the native build command directly.
VS: Set .NET target framework version for VS 7-9 (#14499)

Teach the VS 7-9 generators to honor the

 VS_DOTNET_TARGET_FRAMEWORK_VERSION

target property.  This was already done for VS >= 10 by commit cfe6300a
(VS: Add support for .NET target framework version, 2013-06-14).

Inspired-by: mar.na@t-online.de
Consider targets with double colons to be IMPORTED or ALIAS targets.

Introduce a policy to control the behavior.

The AliasTargets unit test already tests that using a
double-semicolon in the name is not an error. Change the ExportImport
test to use a namespace with a double-semicolon too.
VS: Document VS_GLOBAL_KEYWORD and VS_KEYWORD relationship (#14493)

These two target properties serve the same purpose for different versions
of Visual Studio.  Document the versions covered by each property.

Reported-by: mar.na@t-online.de
CheckTypeSize: Add support for C++

Previously if headers required to check the size of a type can be
compiled with C++ compiler only, the check would fail because the C
compiler fails.  As a consequence, HAVE_${VARIABLE} would be set to
false, and ${VARIABLE} will be empty.

Teach CHECK_TYPE_SIZE to accept a new optional argument LANGUAGE
that allows one to explicitly set the compiler to use.  The new
signature is therefore:

   CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
                                 [LANGUAGE <language>])
CheckTypeSize: Add unit tests
Xcode: Generate 'folder' source type for directories (#14498)

Teach the Xcode generator to set 'lastKnownFileType' to be 'folder' for
file references that are directories.  If you set 'explicitFileType' to
'sourcecode', then Xcode cannot browse the directory.
string: Add CONCAT sub-command

Add a string(CONCAT) command to simply concatenate input arguments
together.  This will be useful for combining strings from different
quoting syntaxes.  Add a RunCMake.string test covering these cases.
use size_t for GeneratorExpressionContent::ContentLength to fix some warnings

CMake/Source/cmGeneratorExpressionParser.cxx: In member function ‘void cmGeneratorExpressionParser::ParseGeneratorExpression(std::vector<cmGeneratorExpressionEvaluator*>&)’:
CMake/Source/cmGeneratorExpressionParser.cxx:116:55: warning: conversion to ‘unsigned int’ from ‘long int’ may alter its value [-Wconversion]
CMake/Source/cmGeneratorExpressionParser.cxx:240:39: warning: conversion to ‘int’ from ‘long int’ may alter its value [-Wconversion]
cmRST: Do not process inline markup in code-block literals

Move the ProcessDirectiveParsedLiteral and ProcessDirectiveCodeBlock
method internals into an OutputMarkupLines helper.  Pass through it a
new "inlineMarkup" parameter and teach OutputLine to understand it.
When false, do not process inline markup.  Extend the CMakeLib.testRST
test to cover the two cases.
cmRST: Process literal blocks after paragraphs ending in '::'

Teach cmRST to recognize non-markup lines ending in '::' followed by a
blank line as starting a literal block.  Record the whole block as if it
were a literal block directive and print it just like a code block.
Extend the CMakeLib.testRST test to cover such cases.
Add some templates for cleaner array iteration.
Genex: Remove use of TransitiveWhitelistCompare

Replace with generic solution based on cmArray* for better
readability.
Genex: Use cmArraySize for targetPolicyWhitelist

For better readability.
Merge topic 'remove-cmake-i-wizard'

a8226e9 cmake: Drop support for "-i" wizard mode
Merge topic 'cmake--build-pipes'

bcd5de7 cmake: Always pass through stdout/stderr in --build mode
Merge topic 'vs9-target-framework-version'

0698714 VS: Set .NET target framework version for VS 7-9 (#14499)
Merge topic 'double-colon-is-imported'

f063c45 Consider targets with double colons to be IMPORTED or ALIAS targets.
Merge topic 'doc-vs-keyword-properties'

b9fe4b6 VS: Document VS_GLOBAL_KEYWORD and VS_KEYWORD relationship (#14493)