CMake Nightly Date Stamp
CPackRPM make the changelog line conform to expected format
Merge topic 'CPack-fixGeneratedChangelogFormat' into next

976e51d CPackRPM make the changelog line conform to expected format
448a677 CMake Nightly Date Stamp
project: Document top-level CMakeLists.txt requirement

CMake requires the top-level CMakeLists.txt to contain a direct call to
the project() command and will insert one if there is not.  Document
this requirement since some authors have tried to use include() to load
a file calling the project command.
Merge topic 'doc-project-top-level' into next

4a71168 project: Document top-level CMakeLists.txt requirement
ExternalProject: Document multiple COMMAND lines

We support multiple commands per external project step by using
the COMMAND keyword.  Document this behavior and show an example.
While at it, document that shell operators and current working
directory behavior is not defined.
Merge topic 'doc-ExternalProject-COMMAND-keyword' into next

41f7e30 ExternalProject: Document multiple COMMAND lines
ExternalProject: Avoid _Add() example in documentation

It messes with the self-extraction of the keyword list.
ExternalProject: Document multiple COMMAND lines

We support multiple commands per external project step by using
the COMMAND keyword.  Document this behavior and show an example.
While at it, document that shell operators and current working
directory behavior is not defined.
Merge topic 'doc-ExternalProject-COMMAND-keyword' into next

455b773 ExternalProject: Avoid _Add() example in documentation
Merge topic 'doc-ExternalProject-COMMAND-keyword' into next

93c1165 ExternalProject: Document multiple COMMAND lines
Silence policy warning when link_libraries command is used.

Because the INTERFACE_LINK_LIBRARIES property is now populated by
the target_link_libraries when operating on a static library,
make an equivalent change which populates the property with
the same value when the old link_libraries() command is used.
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

5540dd3 Silence policy warning when link_libraries command is used.
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.

Because the INTERFACE_LINK_LIBRARIES property is now populated by
the target_link_libraries when operating on a static library,
make an equivalent change which populates the property with
the same value when the old link_libraries() command is used. This
silences the policy warning in that case.
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

ec5807a TLL: Don't populate old link interface if CMP0022 is NEW.
Require CMake 2.8.11 for this test.

The CYGWIN related error message is not issued for CMake >= 2.8.4.
Merge topic 'INTERFACE_LINK_LIBRARIES-prop' into next

5eade96 Require CMake 2.8.11 for this test.
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.

Because the INTERFACE_LINK_LIBRARIES property is populated unconditionally,
we need to compare the evaluated result of it with the link implementation
to determine whether to issue the policy warning for static libraries. For
shared libraries, the policy warning is issued if the contents of
the INTERFACE_LINK_LIBRARIES property differs from the contents of the
relevant config-specific old LINK_INTERFACE_LIBRARIES property.
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.

Because the INTERFACE_LINK_LIBRARIES property is now populated by
the target_link_libraries when operating on a static library,
make an equivalent change which populates the property with
the same value when the old link_libraries() command is used. This
silences the policy warning in that case.