| 83 | } // namespace |
| 84 | |
| 85 | std::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 | |
| 110 | static const struct ZeroNode : public cmGeneratorExpressionNode |
| 111 | { |
no test coverage detected