1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
9 #include "cmListFileCache.h"
11 class cmGeneratorTarget
;
12 class cmLocalGenerator
;
14 struct cmGeneratorExpressionContext
16 cmGeneratorExpressionContext(cmLocalGenerator
* lg
, std::string config
,
17 bool quiet
, const cmGeneratorTarget
* headTarget
,
18 cmGeneratorTarget
const* currentTarget
,
19 bool evaluateForBuildsystem
,
20 cmListFileBacktrace backtrace
,
21 std::string language
);
23 cmListFileBacktrace Backtrace
;
24 std::set
<cmGeneratorTarget
*> DependTargets
;
25 std::set
<cmGeneratorTarget
const*> AllTargets
;
26 std::set
<std::string
> SeenTargetProperties
;
27 std::set
<cmGeneratorTarget
const*> SourceSensitiveTargets
;
28 std::map
<cmGeneratorTarget
const*, std::map
<std::string
, std::string
>>
33 // The target whose property is being evaluated.
34 cmGeneratorTarget
const* HeadTarget
;
35 // The dependent of HeadTarget which appears
36 // directly or indirectly in the property.
37 cmGeneratorTarget
const* CurrentTarget
;
39 bool HadError
= false;
40 bool HadContextSensitiveCondition
= false;
41 bool HadHeadSensitiveCondition
= false;
42 bool HadLinkLanguageSensitiveCondition
= false;
43 bool EvaluateForBuildsystem
;