From 082b6a9d78c6198dc7a9891615930c40a5c3b967 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 4 Mar 2015 23:53:22 +0100 Subject: [PATCH] Genex: Split cmGeneratorExpressionContext into own file. --- Source/CMakeLists.txt | 2 ++ Source/cmGeneratorExpressionContext.cxx | 18 ++++++++++ Source/cmGeneratorExpressionContext.h | 48 +++++++++++++++++++++++++ Source/cmGeneratorExpressionEvaluator.h | 29 +-------------- bootstrap | 1 + 5 files changed, 70 insertions(+), 28 deletions(-) create mode 100644 Source/cmGeneratorExpressionContext.cxx create mode 100644 Source/cmGeneratorExpressionContext.h diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index 8d0d48494..482bd39d6 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -238,6 +238,8 @@ set(SRCS cmFileTimeComparison.cxx cmFileTimeComparison.h cmGeneratedFileStream.cxx + cmGeneratorExpressionContext.cxx + cmGeneratorExpressionContext.h cmGeneratorExpressionDAGChecker.cxx cmGeneratorExpressionDAGChecker.h cmGeneratorExpressionEvaluator.cxx diff --git a/Source/cmGeneratorExpressionContext.cxx b/Source/cmGeneratorExpressionContext.cxx new file mode 100644 index 000000000..4ed8ff2de --- /dev/null +++ b/Source/cmGeneratorExpressionContext.cxx @@ -0,0 +1,18 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2012 Stephen Kelly + + 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. +============================================================================*/ + +#include "cmGeneratorExpressionContext.h" + +cmGeneratorExpressionContext::cmGeneratorExpressionContext(); + : Backtrace(NULL) +{ +} diff --git a/Source/cmGeneratorExpressionContext.h b/Source/cmGeneratorExpressionContext.h new file mode 100644 index 000000000..ce6f376aa --- /dev/null +++ b/Source/cmGeneratorExpressionContext.h @@ -0,0 +1,48 @@ +/*============================================================================ + CMake - Cross Platform Makefile Generator + Copyright 2012 Stephen Kelly + + 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 +#include +#include + +class cmTarget; + +//---------------------------------------------------------------------------- +struct cmGeneratorExpressionContext +{ + cmGeneratorExpressionContext(); + + cmListFileBacktrace Backtrace; + std::set DependTargets; + std::set AllTargets; + std::set SeenTargetProperties; + std::set SourceSensitiveTargets; + std::map > + 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 diff --git a/Source/cmGeneratorExpressionEvaluator.h b/Source/cmGeneratorExpressionEvaluator.h index b1fec0b37..7c1bd8c6f 100644 --- a/Source/cmGeneratorExpressionEvaluator.h +++ b/Source/cmGeneratorExpressionEvaluator.h @@ -16,37 +16,10 @@ #include #include "cmListFileCache.h" +#include "cmGeneratorExpressionContext.h" class cmTarget; -//---------------------------------------------------------------------------- -struct cmGeneratorExpressionContext -{ - cmGeneratorExpressionContext() - : Backtrace(NULL) - { - } - - cmListFileBacktrace Backtrace; - std::set DependTargets; - std::set AllTargets; - std::set SeenTargetProperties; - std::set SourceSensitiveTargets; - std::map > - 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; -}; - struct cmGeneratorExpressionDAGChecker; struct cmGeneratorExpressionNode; diff --git a/bootstrap b/bootstrap index 6bc87ed53..423980292 100755 --- a/bootstrap +++ b/bootstrap @@ -267,6 +267,7 @@ CMAKE_CXX_SOURCES="\ cmInstallDirectoryGenerator \ cmGeneratedFileStream \ cmGeneratorTarget \ + cmGeneratorExpressionContext \ cmGeneratorExpressionDAGChecker \ cmGeneratorExpressionEvaluator \ cmGeneratorExpressionLexer \