MCPcopy Create free account
hub / github.com/Kitware/CMake / EvaluateDependentExpression

Method EvaluateDependentExpression

Source/cmGeneratorExpressionNode.cxx:85–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83} // namespace
84
85std::string cmGeneratorExpressionNode::EvaluateDependentExpression(
86 std::string const& prop, cm::GenEx::Evaluation* eval,
87 cmGeneratorTarget const* headTarget,
88 cmGeneratorExpressionDAGChecker* dagChecker,
89 cmGeneratorTarget const* currentTarget)
90{
91 cmGeneratorExpression ge(*eval->Context.LG->GetCMakeInstance(),
92 eval->Backtrace);
93 std::unique_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(prop);
94 cge->SetEvaluateForBuildsystem(eval->EvaluateForBuildsystem);
95 cge->SetQuiet(eval->Quiet);
96 std::string result =
97 cge->Evaluate(eval->Context, dagChecker, headTarget, currentTarget);
98 if (cge->GetHadContextSensitiveCondition()) {
99 eval->HadContextSensitiveCondition = true;
100 }
101 if (cge->GetHadHeadSensitiveCondition()) {
102 eval->HadHeadSensitiveCondition = true;
103 }
104 if (cge->GetHadLinkLanguageSensitiveCondition()) {
105 eval->HadLinkLanguageSensitiveCondition = true;
106 }
107 return result;
108}
109
110static const struct ZeroNode : public cmGeneratorExpressionNode
111{

Callers 2

EvaluateExpressionMethod · 0.80
EvaluateMethod · 0.80

Calls 8

GetCMakeInstanceMethod · 0.45
ParseMethod · 0.45
SetQuietMethod · 0.45
EvaluateMethod · 0.45

Tested by

no test coverage detected