You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for target compile features in evaluator and pipeline
- Updated the evaluator to recognize and handle the EV_TARGET_COMPILE_FEATURES event, including visibility and item properties.
- Enhanced the test suite to include cases for compile features, ensuring proper evaluation and visibility checks.
- Modified the pipeline to account for compile features in the model snapshot, including updates to the output format to reflect the new data.
- Added a new test case to validate the usage of compile features in a project setup.
Copy file name to clipboardExpand all lines: docs/build_model/build_model_closure_matrix.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ Interpretation rule:
58
58
| Directory graph, nesting, and owner capture |`project`, `directory`|`closed`| Mostly tightening and bug work remain, not new architecture. | Nested directory ownership, parentage, and inherited context no longer require new storage design. |`strong`|
59
59
| Target declaration, kind identity, alias/imported identity |`target`|`closed`| Target identity is now canonical: `UNKNOWN_LIBRARY` is distinct from utility targets, imported/alias globality is first-class, and alias kind queries resolve to the effective target family. | New target-family work fits into the existing target record shape without structural redesign. |`strong`|
60
60
| Source membership, file sets, and source-file properties |`target`, `build_step`|`closed`| Source membership is now modeled canonically: regular sources, `INTERFACE_SOURCES`, typed file sets, generated status, producer linkage, and source-local compile metadata no longer depend on raw property carry-through. | New source/file-set parity work fits the existing typed source and file-set query surface without new core model shapes. |`strong`|
61
-
| Usage-requirement raw item model |`directory`, `target`|`partial`|Raw storage exists, but wider combinations still create downstream pressure. | Include dirs, defs, opts, link libs, link dirs, features, flags, and provenance fit the stable item model without new families. |`moderate`|
61
+
| Usage-requirement raw item model |`directory`, `target`|`closed`|Usage requirements are now canonical across direct events and supported property setters: directory/global `LINK_LIBRARIES`, target include/define/option/feature/link families, and `SYSTEM` provenance no longer depend on the raw property bag as their primary downstream source. | Include dirs, defs, opts, link libs, link dirs, link opts, compile features, flags, and provenance fit the stable item model without new families; remaining work is limited to transitive semantics and intentional raw-property boundaries such as custom keys and `APPEND_STRING`. |`strong`|
62
62
| Effective propagation and transitive query semantics |`target`, `directory`, `query`|`partial`| Transitive closure is implemented for important families, but more combinations can still force query/model expansion. | Effective queries cover common real-project propagation cases without needing new semantics or side channels. |`moderate`|
63
63
| Generator-expression-carrying downstream preservation |`target`, `directory`, `install`, `export`, `replay`|`open`| This is one of the biggest sources of "looks implemented row-by-row, still fails on real projects." | Artifact-relevant genex context is preserved or resolved downstream strongly enough that codegen does not need evaluator-private escape hatches. |`weak`|
64
64
| Config, language, and platform split |`target`, `query`, `replay`|`partial`| Some context-sensitive querying exists, but broad multi-config/platform closure is still a common major-work source. | Per-config, per-language, and per-platform artifact decisions stop forcing new model/query design. |`moderate`|
0 commit comments