Add the ALIAS target concept for libraries and executables.

* The ALIAS name must match a validity regex.
* Executables and libraries may be aliased.
* An ALIAS acts immutable. It can not be used as the lhs
  of target_link_libraries or other commands.
* An ALIAS can be used with add_custom_command, add_custom_target,
  and add_test in the same way regular targets can.
* The target of an ALIAS can be retrieved with the ALIASED_TARGET
  target property.
* An ALIAS does not appear in the generated buildsystem. It
  is kept separate from cmMakefile::Targets for that reason.
* A target may have multiple aliases.
* An ALIAS target may not itself have an alias.
* An IMPORTED target may not have an alias.
* An ALIAS may not be exported or imported.
VS6: Hardcode id_machine_6 for compiler detection

id_machine6 is never set to an other value than x86. So it is
safe to remove the replacements with "x86" directly.
VS10: Do not set the TargetMachine when detecting the compiler

The Microsoft linker is intelligent enough to detect the target
machine type depending on the input files. This allows us to
get the target architecture from the compiler instead of
maintaining the mapping to the platform name.
VS: Set CMAKE_VS_PLATFORM_NAME for VS7 and VS71 too

Move the code which sets CMAKE_VS_PLATFORM_NAME from
cmGlobalVisualStudio8Generator to cmGlobalVisualStudio7Generator.
VS: Replace ArchitectureId with PlatformName

Since we do not need the information about the target architecture
we can use the PlatformName only to specify the this information.
This also removes setting of the MSVC_*_ARCHITECTURE_ID variable
which is not required, because this variable gets set by the
compiler detection code in CMAKE_DETERMINE_COMPILER_ID_CHECK().
VS12: Remove duplicated overload of UseFolderProperty()

cmGlobalVisualStudio11Generator generator already defines the same
function body, which makes the additional overload useless.
Fix detection of WinCE SDKs with 64bit verion of CMake

Use cmSystemTools::KeyWOW64_32 instead of KeyWOW64_Default to
make sure that the correct part of the registry is read.
VS: Unify how the name of the generator is specified

Use the value of the provided argument instead of using a fixed
character buffer. This aligns VS10+VS11+VS12 with VS8+VS9.
VS10: Add support for assembler code (#11536)

Use the masm BuildCustomizations, which are part of the Visual
Studio installation to allow compilation of asm files.
WIN: Use COFF file header header for architecture detection (#14083)

Read the machine field from the COFF file header to get the exact
target architecture for ARM and SHx on the Windows platform.
Improve const-correctness in cmVisualStudioGeneratorOptions

Add const qualifier to IsDebug(), UsingSBCS() and UsingUnicode().
Fix setting of the entry point symbol for Windows CE (#14088)

Set the EntryPointSymbol only when it has not been set before
and use the correct symbol depending on the usage of Unicode.
CMake Nightly Date Stamp
Merge topic 'ALIAS-targets'

370bf55 Add the ALIAS target concept for libraries and executables.
Merge topic 'vs-cleanup'

c90151b VS: Unify how the name of the generator is specified
3873d29 Fix detection of WinCE SDKs with 64bit verion of CMake
40a4302 VS12: Remove duplicated overload of UseFolderProperty()
b02f09d VS: Replace ArchitectureId with PlatformName
4b15dc8 VS: Set CMAKE_VS_PLATFORM_NAME for VS7 and VS71 too
60e568c VS10: Do not set the TargetMachine when detecting the compiler
dfbfe6f VS6: Hardcode id_machine_6 for compiler detection
Merge topic 'vs-masm'

28e770c VS10: Add support for assembler code (#11536)
Merge topic 'peheader'

bd827f9 WIN: Use COFF file header header for architecture detection (#14083)
Merge topic 'wince-entrypoint'

34969cf Fix setting of the entry point symbol for Windows CE (#14088)
5e0252c Improve const-correctness in cmVisualStudioGeneratorOptions