CMake Nightly Date Stamp
Style: Use this-> when invoking member functions.
Process generator expressions for 'system' include directories.
Deduplicate the isGeneratorExpression method.

This API seems like the most appropriate.
De-duplicate validation of genex target names.
Test printing origin of include dirs from tll().
The COMPATIBLE_INTERFACE does not affect the target it is set on.

Test and document this.
Ensure type specific compatible interface properties do not intersect.

Before, the boolean version would always win, and the string one would
be ignored.
Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake.

As INTERFACE_COMPILE_DEFINITIONS are now possible, we can have
situations like this:

 add_library(foo ...)
 add_library(bar ...)
 target_link_libraries(foo bar)

 target_compile_definitions(bar INTERFACE SOME_DEF)

The INTERFACE_COMPILE_DEFINITIONS of bar determine how foo should be
compiled, and if they change, foo should be rebuilt.

Additionally, as of commit d1446ca7 (Append the COMPILE_DEFINITIONS
from the Makefile to all targets., 2012-09-17), we don't need to
read definitions from the makefile if we read them from the target,
so also de-duplicate the cached info.

The DependInfo for INTERFACE_INCLUDE_DIRECTORIES is already handled
correctly.
Merge topic 'minor-fixes' into next

d5d9646 Fix generation of COMPILE_DEFINITIONS in DependInfo.cmake.
c88ec90 Ensure type specific compatible interface properties do not intersect.
2c7f157 The COMPATIBLE_INTERFACE does not affect the target it is set on.
6788da7 Test printing origin of include dirs from tll().
c191002 De-duplicate validation of genex target names.
118f563 Deduplicate the isGeneratorExpression method.
60a2e34 Process generator expressions for 'system' include directories.
2ce7231 Style: Use this-> when invoking member functions.
47eacab CMake Nightly Date Stamp