/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #ifndef cmGeneratorExpressionContext_h #define cmGeneratorExpressionContext_h #include "cmListFileCache.h" #include #include #include class cmGeneratorTarget; class cmLocalGenerator; struct cmGeneratorExpressionContext { cmGeneratorExpressionContext(cmLocalGenerator* lg, std::string const& config, bool quiet, const cmGeneratorTarget* headTarget, cmGeneratorTarget 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; cmLocalGenerator* LG; std::string Config; std::string Language; // The target whose property is being evaluated. cmGeneratorTarget const* HeadTarget; // The dependent of HeadTarget which appears // directly or indirectly in the property. cmGeneratorTarget const* CurrentTarget; bool Quiet; bool HadError; bool HadContextSensitiveCondition; bool HadHeadSensitiveCondition; bool EvaluateForBuildsystem; }; #endif