GenEx: Limit TARGET_PROPERTY transitive closure optimization to subgraphs

Fixes: #25728
This commit is contained in:
Michael Herwig
2024-05-31 18:15:55 +02:00
parent 9673f61be1
commit 4a11772618
8 changed files with 78 additions and 8 deletions
@@ -1877,6 +1877,14 @@ These expressions look up the values of
rather than the directory of the consuming target for which the
expression is being evaluated.
.. versionchanged:: 3.31
Generator expressions for transitive interface properties, such as
``$<TARGET_PROPERTY:target,INTERFACE_*>``, now correctly handle
repeated evaluations within nested generator expressions.
Previously, these repeated evaluations returned empty values due
to an optimization for transitive closures.
This change ensures consistent evaluation for non-union operations.
.. genex:: $<TARGET_PROPERTY:prop>
:target: TARGET_PROPERTY:prop