cmGeneratorExpression: Add comments on implementation details

Clarify the purpose of some genex code that collects properties over the
transitive link closure.
This commit is contained in:
Brad King
2024-04-11 13:49:12 -04:00
parent 0a61116f52
commit 91a25de520
3 changed files with 8 additions and 0 deletions
+4
View File
@@ -547,6 +547,7 @@ static const struct TargetGenexEvalNode : public GenexEvaluator
return expression;
}
// Replace the surrounding context with the named target.
cmGeneratorExpressionContext targetContext(
context->LG, context->Config, context->Quiet, target, target,
context->EvaluateForBuildsystem, context->Backtrace, context->Language);
@@ -2897,6 +2898,9 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
bool evaluatingLinkLibraries = false;
if (dagCheckerParent) {
// This $<TARGET_PROPERTY:...> node has been reached while evaluating
// another target property value. Check that the outermost evaluation
// expects such nested evaluations.
if (dagCheckerParent->EvaluatingGenexExpression() ||
dagCheckerParent->EvaluatingPICExpression() ||
dagCheckerParent->EvaluatingLinkerLauncher()) {