summaryrefslogtreecommitdiff
path: root/Source/cmGeneratorExpressionContext.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-03-04 23:53:22 +0100
committerStephen Kelly <steveire@gmail.com>2015-03-11 00:12:56 +0100
commit082b6a9d78c6198dc7a9891615930c40a5c3b967 (patch)
tree52c12b8992415b533877e76fe8f6ad2e4ec6171e /Source/cmGeneratorExpressionContext.h
parent9df1f0fce19d893b75108fa29eb06cf6b2ce4997 (diff)
downloadcmake-082b6a9d78c6198dc7a9891615930c40a5c3b967.tar.gz
Genex: Split cmGeneratorExpressionContext into own file.
Diffstat (limited to 'Source/cmGeneratorExpressionContext.h')
-rw-r--r--Source/cmGeneratorExpressionContext.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/Source/cmGeneratorExpressionContext.h b/Source/cmGeneratorExpressionContext.h
new file mode 100644
index 0000000000..ce6f376aae
--- /dev/null
+++ b/Source/cmGeneratorExpressionContext.h
@@ -0,0 +1,48 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmGeneratorExpressionContext_h
+#define cmGeneratorExpressionContext_h
+
+#include "cmListFileCache.h"
+
+#include <set>
+#include <map>
+#include <string>
+
+class cmTarget;
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionContext
+{
+ cmGeneratorExpressionContext();
+
+ cmListFileBacktrace Backtrace;
+ std::set<cmTarget*> DependTargets;
+ std::set<cmTarget const*> AllTargets;
+ std::set<std::string> SeenTargetProperties;
+ std::set<cmTarget const*> SourceSensitiveTargets;
+ std::map<cmTarget const*, std::map<std::string, std::string> >
+ MaxLanguageStandard;
+ cmMakefile *Makefile;
+ std::string Config;
+ std::string Language;
+ cmTarget const* HeadTarget; // The target whose property is being evaluated.
+ cmTarget const* CurrentTarget; // The dependent of HeadTarget which appears
+ // directly or indirectly in the property.
+ bool Quiet;
+ bool HadError;
+ bool HadContextSensitiveCondition;
+ bool HadHeadSensitiveCondition;
+ bool EvaluateForBuildsystem;
+};
+
+#endif