Build facet
Summary
The build facet is the CMake projection of a component: the
CMakeLists.txt files that wire its libraries, sources, tests and
modeling targets into the build. It is generated by ores.codegen
under --profile cmake from the component model, so the build graph
stays in lock-step with the logical model rather than being maintained
by hand. Like every facet it groups one technical space's artefacts —
here the CMake technical space — for a component.
Detail
The facet emits one CMakeLists.txt per structural role a component
can take, selected by the component's shape in the model:
- Component root — the top-level
CMakeLists.txtadding the component's sub-directories. srcvariants —src, plusapi/,core/andservice/variants for components that split along those lines.- Tests — the test executable target and its sources.
- Modeling — the diagram-generation target.
The build facet is structural, not per-entity: it is parameterised by the component (its libraries and sub-directories), where the C++ and SQL facets are parameterised by the logical entity. Read the template for the authoritative output — do not reproduce it here.
See also
- Facet — the MASD facet concept this instantiates.
- Applied MASD — the full facet catalogue and codegen routes.
- cmake — the literate templates that generate this facet.