diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-06-04 14:25:47 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-07-08 20:39:09 (GMT) |
commit | d0a76ea07cfc2a73900a9539e940e1e60dbba120 (patch) | |
tree | 8afdc5cb57a2ee3c88db5a677a2e642b40415326 /Source/cmTarget.h | |
parent | ddde61c0b2b46a452366acae690aca0095c0a49c (diff) | |
download | CMake-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/cmTarget.h')
-rw-r--r-- | Source/cmTarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h index dd28405..d7ee332 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -111,6 +111,10 @@ public: cmPolicies::PolicyStatus GetPolicyStatusCMP0021() const { return this->PolicyStatusCMP0021; } + /** Get the status of policy CMP0022 when the target was created. */ + cmPolicies::PolicyStatus GetPolicyStatusCMP0022() const + { return this->PolicyStatusCMP0022; } + /** * Get the list of the custom commands for this target */ @@ -695,6 +699,7 @@ private: cmPolicies::PolicyStatus PolicyStatusCMP0008; cmPolicies::PolicyStatus PolicyStatusCMP0020; cmPolicies::PolicyStatus PolicyStatusCMP0021; + cmPolicies::PolicyStatus PolicyStatusCMP0022; // Internal representation details. friend class cmTargetInternals; |