diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-02-07 12:04:46 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-02-07 15:21:09 (GMT) |
commit | d4e5c6787c40e27394c336730f59d878a81d1991 (patch) | |
tree | c262428c71c0c4fd31f24f71f2347031358db0d6 /Source/cmGeneratorExpression.h | |
parent | 1fb545ad3a8f6d263c9f01300bce978e81b6fe8c (diff) | |
download | CMake-d4e5c6787c40e27394c336730f59d878a81d1991.zip CMake-d4e5c6787c40e27394c336730f59d878a81d1991.tar.gz CMake-d4e5c6787c40e27394c336730f59d878a81d1991.tar.bz2 |
Don't keep track of content determined by target property values.
This tracking was added during the development of commit 042ecf04
(Add API to calculate link-interface-dependent bool properties
or error., 2013-01-06), but was never used.
It was not necessary to use the content because what is really
useful in that logic is to determine if a property has been implied
to be null by appearing in a LINK_LIBRARIES genex.
I think the motivating usecase for developing the feature of
keeping track of the targets relevant to a property was that I
thought it would make it possible to allow requiring granular
compatibility of interface properties only for targets which
depended on the interface property. Eg:
add_library(foo ...)
add_library(bar ...)
add_executable(user ...)
# Read the INTERFACE_POSITION_INDEPENDENT_CODE from bar, but not
# from foo:
target_link_libraries(user foo $<$<TARGET_PROPERTY:POSTITION_INDEPENDENT_CODE>:bar>)
This obviously doesn't make sense. We require that INTERFACE
properties are consistent across all linked targets instead.
Diffstat (limited to 'Source/cmGeneratorExpression.h')
-rw-r--r-- | Source/cmGeneratorExpression.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h index 4eab2dd..489b052 100644 --- a/Source/cmGeneratorExpression.h +++ b/Source/cmGeneratorExpression.h @@ -90,7 +90,7 @@ public: std::set<cmTarget*> const& GetTargets() const { return this->Targets; } - std::map<cmStdString, cmStdString> const& GetSeenTargetProperties() const + std::set<cmStdString> const& GetSeenTargetProperties() const { return this->SeenTargetProperties; } ~cmCompiledGeneratorExpression(); @@ -124,7 +124,7 @@ private: bool NeedsParsing; mutable std::set<cmTarget*> Targets; - mutable std::map<cmStdString, cmStdString> SeenTargetProperties; + mutable std::set<cmStdString> SeenTargetProperties; mutable std::string Output; mutable bool HadContextSensitiveCondition; }; |