summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpression.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-02-03 06:33:15 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-02-03 22:04:03 (GMT)
commite48d84209cde93b43fcfb305897b4f52cd18a55f (patch)
tree54d2722367a8d32055e20ebc23d8a8f3f5451ef2 /Source/cmGeneratorExpression.h
parent089fe1c13d8fa73be5182162a855c17351d1f918 (diff)
downloadCMake-e48d84209cde93b43fcfb305897b4f52cd18a55f.zip
CMake-e48d84209cde93b43fcfb305897b4f52cd18a55f.tar.gz
CMake-e48d84209cde93b43fcfb305897b4f52cd18a55f.tar.bz2
Cache context-independent includes on evaluation.
Generator expressions whose output depends on the configuration now record that fact. The GetIncludeDirectories method can use that result to cache the include directories for later calls. GetIncludeDirectories is called multiple times for a target for each configuration, so this should restore performance for multi-config generators.
Diffstat (limited to 'Source/cmGeneratorExpression.h')
-rw-r--r--Source/cmGeneratorExpression.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 8f1aef6..700fe03 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -100,6 +100,10 @@ public:
{
return this->Backtrace;
}
+ bool GetHadContextSensitiveCondition() const
+ {
+ return this->HadContextSensitiveCondition;
+ }
private:
cmCompiledGeneratorExpression(cmListFileBacktrace const& backtrace,
@@ -118,6 +122,7 @@ private:
mutable std::set<cmTarget*> Targets;
mutable std::map<cmStdString, cmStdString> SeenTargetProperties;
mutable std::string Output;
+ mutable bool HadContextSensitiveCondition;
};
#endif