GenexEval: Add abstracted access to link interface for a target.

This can be extended with special handling for static libraries
so that we can process the link dependencies separately from the
usage dependencies.
Introduce the LINK_ONLY generator expression.

This is an internal expression for use by target_link_libraries
for static libraries.
Introduce the INTERFACE_LINK_LIBRARIES property.

This property replaces the properties which
match (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, and is enabled
for IMPORTED targets, and for non-IMPORTED targets only with a policy.

For static libraries, the INTERFACE_LINK_LIBRARIES property is
also used as the source of transitive usage requirements content.
Static libraries still require users to link to all entries in
their LINK_LIBRARIES, but usage requirements such as INCLUDE_DIRECTORIES
COMPILE_DEFINITIONS and COMPILE_OPTIONS can be restricted to only
certain interface libraries.
Export: Generate INTERFACE_LINK_LIBRARIES property on targets.

This property is generated only for targets which have recorded
policy CMP0022 as NEW, and a compatibility mode is added to
additionally export the old interfaces in that case too.

If the old interfaces are not exported, the generated export files
require CMake 2.8.12. Because the unit tests use a version which
is not yet called 2.8.12, temporarily require a lower version.
TLL: Don't populate old link interface if CMP0022 is NEW.

Always populate the INTERFACE_LINK_LIBRARIES for interface
entries. Don't populate the old interface properties
matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?
if CMP0022 is NEW.
cmcurl: Backport curl bug 1192 fix (#14250)

LLVM headers define strlcat as a macro rather than as a function.
See upstream Curl issue:

 http://curl.haxx.se/bug/view.cgi?id=1192

It was addressed by removing use of strlcat altogether.  Port the
upstream fix to CMake's curl.
CMake Nightly Date Stamp
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

a6b9803 TLL: Don't populate old link interface if CMP0022 is NEW.
b23225e Export: Generate INTERFACE_LINK_LIBRARIES property on targets.
ab875b8 Introduce the INTERFACE_LINK_LIBRARIES property.
7a0c072 Introduce the LINK_ONLY generator expression.
41b0792 GenexEval: Add abstracted access to link interface for a target.
Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY

Use preprocessor loops and add a unit test for the appropriate
policies. All policies whose value is recorded at target creation
time should be part of this list.
Merge topic 'target-policies' into next

6de7c90 Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY
Fix line length.
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

3fc0562 Fix line length.
Export: Generate INTERFACE_LINK_LIBRARIES property on targets.

This property is generated only for targets which have recorded
policy CMP0022 as NEW, and a compatibility mode is added to
additionally export the old interfaces in that case too.

If the old interfaces are not exported, the generated export files
require CMake 2.8.12. Because the unit tests use a version which
is not yet called 2.8.12, temporarily require a lower version.
TLL: Don't populate old link interface if CMP0022 is NEW.

Always populate the INTERFACE_LINK_LIBRARIES for interface
entries. Don't populate the old interface properties
matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?
if CMP0022 is NEW.
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

c475aa0 TLL: Don't populate old link interface if CMP0022 is NEW.
cc23c52 Export: Generate INTERFACE_LINK_LIBRARIES property on targets.
Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY

Use preprocessor loops and add a unit test for the appropriate
policies. All policies whose value is recorded at target creation
time should be part of this list.
Merge topic 'target-policies' into next

5861bd9 Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY
Add generator expressions for compiler versions.

New generator expressions allow retrieval of the version per language,
as well as equality comparison.
Merge topic 'compiler-version-genex' into next

7f1772d Add generator expressions for compiler versions.
Make sure expected versions are defined for all compilers.