diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx index 90bb06be86..fb6fea93e1 100644 --- a/Source/cmGeneratorExpressionNode.cxx +++ b/Source/cmGeneratorExpressionNode.cxx @@ -52,18 +52,19 @@ #include "cmake.h" std::string cmGeneratorExpressionNode::EvaluateDependentExpression( - std::string const& prop, cmLocalGenerator const* lg, - cmGeneratorExpressionContext* context, cmGeneratorTarget const* headTarget, + std::string const& prop, cmGeneratorExpressionContext* context, + cmGeneratorTarget const* headTarget, cmGeneratorExpressionDAGChecker* dagChecker, cmGeneratorTarget const* currentTarget) { - cmGeneratorExpression ge(*lg->GetCMakeInstance(), context->Backtrace); + cmGeneratorExpression ge(*context->LG->GetCMakeInstance(), + context->Backtrace); std::unique_ptr cge = ge.Parse(prop); cge->SetEvaluateForBuildsystem(context->EvaluateForBuildsystem); cge->SetQuiet(context->Quiet); std::string result = - cge->Evaluate(lg, context->Config, headTarget, dagChecker, currentTarget, - context->Language); + cge->Evaluate(context->LG, context->Config, headTarget, dagChecker, + currentTarget, context->Language); if (cge->GetHadContextSensitiveCondition()) { context->HadContextSensitiveCondition = true; } @@ -504,12 +505,12 @@ protected: } return this->EvaluateDependentExpression( - expression, context->LG, context, context->HeadTarget, &dagChecker, + expression, context, context->HeadTarget, &dagChecker, context->CurrentTarget); } return this->EvaluateDependentExpression( - expression, context->LG, context, context->HeadTarget, dagCheckerParent, + expression, context, context->HeadTarget, dagCheckerParent, context->CurrentTarget); } }; @@ -3083,8 +3084,8 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode // transitive link closure as an ordered list. if (!interfacePropertyName.empty()) { result = cmGeneratorExpression::StripEmptyListElements( - this->EvaluateDependentExpression(result, context->LG, context, target, - &dagChecker, target)); + this->EvaluateDependentExpression(result, context, target, &dagChecker, + target)); std::string linkedTargetsContent = getLinkedTargetsContent( target, interfacePropertyName, context, &dagChecker, usage); if (!linkedTargetsContent.empty()) { diff --git a/Source/cmGeneratorExpressionNode.h b/Source/cmGeneratorExpressionNode.h index df4ee5fdbd..47da44f51c 100644 --- a/Source/cmGeneratorExpressionNode.h +++ b/Source/cmGeneratorExpressionNode.h @@ -8,7 +8,6 @@ #include class cmGeneratorTarget; -class cmLocalGenerator; struct GeneratorExpressionContent; struct cmGeneratorExpressionContext; struct cmGeneratorExpressionDAGChecker; @@ -46,8 +45,8 @@ struct cmGeneratorExpressionNode cmGeneratorExpressionDAGChecker* dagChecker) const = 0; static std::string EvaluateDependentExpression( - std::string const& prop, cmLocalGenerator const* lg, - cmGeneratorExpressionContext* context, cmGeneratorTarget const* headTarget, + std::string const& prop, cmGeneratorExpressionContext* context, + cmGeneratorTarget const* headTarget, cmGeneratorExpressionDAGChecker* dagChecker, cmGeneratorTarget const* currentTarget); diff --git a/Source/cmGeneratorTarget_TransitiveProperty.cxx b/Source/cmGeneratorTarget_TransitiveProperty.cxx index 89ee8ebe4b..680e2dc1a6 100644 --- a/Source/cmGeneratorTarget_TransitiveProperty.cxx +++ b/Source/cmGeneratorTarget_TransitiveProperty.cxx @@ -138,7 +138,7 @@ std::string cmGeneratorTarget::EvaluateInterfaceProperty( if (cmValue p = this->GetProperty(prop)) { result = cmGeneratorExpressionNode::EvaluateDependentExpression( - *p, context->LG, context, headTarget, &dagChecker, this); + *p, context, headTarget, &dagChecker, this); } if (cmLinkInterfaceLibraries const* iface =