/*============================================================================ 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(cmMakefile* mf, std::string const& config, bool quiet, cmTarget const* headTarget, cmTarget const* currentTarget, bool evaluateForBuildsystem, cmListFileBacktrace const& backtrace, std::string const& language); 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