summaryrefslogtreecommitdiffstats
path: root/Tests/CustomTransitiveProperties
Commit message (Collapse)AuthorAgeFilesLines
* file(GENERATE): Record CMP0189 at each call siteBrad King2025-09-233-2/+42
| | | | | | | | | | | | | | Policy CMP0189, introduced by commit b3da9c6d60 (GenEx: Evaluate LINK_LIBRARIES target properties transitively, 2025-02-24, v4.1.0-rc1~731^2), takes effect at generation time, and so uses the policy value as of the end of each directory. However, some projects may rely on `file(GENERATE)` with the policy's OLD behavior in order to extract targets' *direct* dependencies from `LINK_LIBRARIES`. Pending a first-class solution to that problem, make it easier for projects to port to the policy's NEW behavior in general while retaining the OLD behavior in an isolated context. Fixes: #27220
* GenEx: Evaluate LINK_LIBRARIES target properties transitivelyBrad King2025-02-248-12/+161
| | | | | | | | | | | The `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` target properties establish the graph of link dependencies used to propagate usage requirements transitively. Therefore the `$<TARGET_PROPERTY:...>` generator expression should evaluate them transitively as it does for other transitive properties. Add policy CMP0189 for compatibility. Fixes: #26709 Issue: #12435
* GenEx: Fix evaluation of LINK_LIBRARIES as custom transitive propertyBrad King2025-02-232-8/+6
| | | | | | | | | Fix logic from commit b9ee79b8a1 (GenEx: Add support for custom transitive compile properties, 2024-05-09, v3.30.0-rc1~82^2~1) to more precisely know when we are computing the link dependency graph. Issue: #20416 Issue: #26709
* Tests: Extend CustomTransitiveProperties with custom transitive LINK_LIBRARIESBrad King2025-02-235-0/+69
| | | | | Demonstrate presence of extra entries due to not always avoiding repeat visits.
* Tests: Extend CustomTransitiveProperties with non-transitive LINK_LIBRARIESBrad King2025-02-232-1/+33
|
* Tests: Split CustomTransitiveProperties argument checks into helperBrad King2025-02-233-19/+20
|
* GenEx: Add support for custom transitive link propertiesBrad King2024-05-215-0/+185
| | | | | | | | | Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a new `TRANSITIVE_LINK_PROPERTIES` property in the target's link closure to enable transitive evaluation of named properties through the link closure, including entries guarded by `$<LINK_ONLY:...>`. Fixes: #20416
* GenEx: Add support for custom transitive compile propertiesBrad King2024-05-215-0/+273
Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a new `TRANSITIVE_COMPILE_PROPERTIES` property in the target's link closure to enable transitive evaluation of named properties through the link closure, excluding entries guarded by `$<LINK_ONLY:...>`. Issue: #20416