summaryrefslogtreecommitdiffstats
path: root/Source/cmPolicies.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-06-04 14:25:47 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-07-08 20:39:09 (GMT)
commitd0a76ea07cfc2a73900a9539e940e1e60dbba120 (patch)
tree8afdc5cb57a2ee3c88db5a677a2e642b40415326 /Source/cmPolicies.h
parentddde61c0b2b46a452366acae690aca0095c0a49c (diff)
downloadCMake-d0a76ea07cfc2a73900a9539e940e1e60dbba120.zip
CMake-d0a76ea07cfc2a73900a9539e940e1e60dbba120.tar.gz
CMake-d0a76ea07cfc2a73900a9539e940e1e60dbba120.tar.bz2
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.
Diffstat (limited to 'Source/cmPolicies.h')
-rw-r--r--Source/cmPolicies.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index a033e87..20c953f 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -72,6 +72,7 @@ public:
CMP0020, ///< Automatically link Qt executables to qtmain target
CMP0021, ///< Fatal error on relative paths in INCLUDE_DIRECTORIES
/// target property
+ CMP0022, ///< INTERFACE_LINK_LIBRARIES defines the link interface
/** \brief Always the last entry.
*