cmGeneratorExpressionContext.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmGeneratorExpressionContext_h
  4. #define cmGeneratorExpressionContext_h
  5. #include "cmListFileCache.h"
  6. #include <map>
  7. #include <set>
  8. #include <string>
  9. class cmGeneratorTarget;
  10. class cmLocalGenerator;
  11. struct cmGeneratorExpressionContext
  12. {
  13. cmGeneratorExpressionContext(cmLocalGenerator* lg, std::string const& config,
  14. bool quiet, const cmGeneratorTarget* headTarget,
  15. cmGeneratorTarget const* currentTarget,
  16. bool evaluateForBuildsystem,
  17. cmListFileBacktrace const& backtrace,
  18. std::string const& language);
  19. cmListFileBacktrace Backtrace;
  20. std::set<cmGeneratorTarget*> DependTargets;
  21. std::set<cmGeneratorTarget const*> AllTargets;
  22. std::set<std::string> SeenTargetProperties;
  23. std::set<cmGeneratorTarget const*> SourceSensitiveTargets;
  24. std::map<cmGeneratorTarget const*, std::map<std::string, std::string>>
  25. MaxLanguageStandard;
  26. cmLocalGenerator* LG;
  27. std::string Config;
  28. std::string Language;
  29. // The target whose property is being evaluated.
  30. cmGeneratorTarget const* HeadTarget;
  31. // The dependent of HeadTarget which appears
  32. // directly or indirectly in the property.
  33. cmGeneratorTarget const* CurrentTarget;
  34. bool Quiet;
  35. bool HadError;
  36. bool HadContextSensitiveCondition;
  37. bool HadHeadSensitiveCondition;
  38. bool EvaluateForBuildsystem;
  39. };
  40. #endif