CMake Nightly Date Stamp
Genex: Fix indentation in docs.
cmSystemTools: Fix typo in comment.
De-duplicate version comparison code.

Extend the VersionCompare in cmSystemTools to handle 8 components,
and port the if command to use that.
Add generator expressions for version comparision.
Add generator expressions for compiler versions.

New generator expressions allow retrieval of the version per language,
as well as equality comparison.
Style: Don't put an else after a return.
Merge topic 'minor-cleanup' into next

e3b7eac Style: Don't put an else after a return.
ad304a2 cmSystemTools: Fix typo in comment.
08319e0 Genex: Fix indentation in docs.
Merge topic 'version-compare-genex' into next

2d5c845 Add generator expressions for compiler versions.
1d0818d Add generator expressions for version comparision.
d366604 De-duplicate version comparison code.
Add compiler target compile options.

For clang, this allows passing -target <triple> to the compiler, and
for qcc, -V<arch> using toolchain files containing something like

 set(triple arm-linux-gnueabihf)
 set(CMAKE_C_COMPILER "/usr/bin/clang")
 set(CMAKE_C_COMPILER_TARGET ${triple})
 set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
 set(CMAKE_CXX_COMPILER_TARGET ${triple})

or

 set(arch gcc_ntoarmv7le)
 set(CMAKE_C_COMPILER /opt/qnx650/host/linux/x86/usr/bin/qcc)
 set(CMAKE_C_COMPILER_TARGET ${arch})
 set(CMAKE_CXX_COMPILER /opt/qnx650/host/linux/x86/usr/bin/QCC)
 set(CMAKE_CXX_COMPILER_TARGET ${arch})

Both clang and qcc are inherently cross compiler( driver)s.
Merge topic 'COMPILER_TARGET' into next

fc2001a Add compiler target compile options.
a2021e5 CMake Nightly Date Stamp
Fix some bugs in the parent commit.
Merge topic 'COMPILER_TARGET' into next

d2e5c66 Fix some bugs in the parent commit.
Add compiler target compile options.

For clang, this allows passing -target <triple> to the compiler, and
for qcc, -V<arch> using toolchain files containing something like

 set(triple arm-linux-gnueabihf)
 set(CMAKE_C_COMPILER "/usr/bin/clang")
 set(CMAKE_C_COMPILER_TARGET ${triple})
 set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
 set(CMAKE_CXX_COMPILER_TARGET ${triple})

or

 set(arch gcc_ntoarmv7le)
 set(CMAKE_C_COMPILER /opt/qnx650/host/linux/x86/usr/bin/qcc)
 set(CMAKE_C_COMPILER_TARGET ${arch})
 set(CMAKE_CXX_COMPILER /opt/qnx650/host/linux/x86/usr/bin/QCC)
 set(CMAKE_CXX_COMPILER_TARGET ${arch})

Both clang and qcc are inherently cross compiler( driver)s.
Merge topic 'COMPILER_TARGET' into next

2d9ec1d Add compiler target compile options.
asm support: adapt to changes in CMakeDetectCompiler in 2.8.10

This fixes #14210. In 2.8.10 CMakeDetermineCompiler.cmake was
modified (or added), and now the _INIT variable must not
be set to a list anymore, before it worked.

Alex
Merge topic 'FixAsmSupport' into next

e7722fd asm support: adapt to changes in CMakeDetectCompiler in 2.8.10
Eclipse: fix #14204 and #14205: no file links to directories

If a source file name is empty, or if it is a directory,
don't create a linked resource to it.

Alex
Merge topic 'FixEclipseCorruptProjects' into next

22f7934 Eclipse: fix #14204 and #14205: no file links to directories