Merge topic 'policy-CMP0022-fixes-for-master'

b51696f CMP0022: Update target_link_libraries plain signature documentation
25b7f87 Merge branch 'policy-CMP0022-fixes' into policy-CMP0022-fixes-for-master
0a561a0 CMP0022: Warn about a given target at most once
23d21b7 Do not export INTERFACE_LINK_LIBRARIES from non-linkable targets
ef10b87 CMP0022: Plain target_link_libraries must populate link interface
0e06788 CMP0022: Add test for target_link_libraries plain signature
c0f4a61 CMP0022: Add unit test for null pointer check and message.
4b0cfa7 Merge branch 'output-CMP0022-entries' into policy-CMP0022-fixes
This commit is contained in:
Brad King
2013-11-04 07:54:20 -05:00
committed by CMake Topic Stage
23 changed files with 242 additions and 162 deletions

View File

@@ -32,13 +32,16 @@ per-configuration rules by creating and linking to IMPORTED library
targets. See the IMPORTED mode of the add_library command for more
information.
Library dependencies are transitive by default. When this target is
linked into another target then the libraries linked to this target
will appear on the link line for the other target too. See the
INTERFACE_LINK_LIBRARIES target property to override the set of
transitive link dependencies for a target. Calls to other signatures
of this command may set the property making any libraries linked
exclusively by this signature private.
Library dependencies are transitive by default with this signature.
When this target is linked into another target then the libraries
linked to this target will appear on the link line for the other
target too. This transitive "link interface" is stored in the
INTERFACE_LINK_LIBRARIES target property when policy CMP0022 is set to
NEW and may be overridden by setting the property directly.
(When CMP0022 is not set to NEW, transitive linking is builtin but may
be overridden by the LINK_INTERFACE_LIBRARIES property. Calls to other
signatures of this command may set the property making any libraries
linked exclusively by this signature private.)
CMake will also propagate "usage requirements" from linked library
targets. Usage requirements affect compilation of sources in the