CMake template group
Table of Contents
This page documents the cmake group of the codegen template
library — the namespace that gathers related facets. Each facet is a
literate org document in this directory whose mustache blocks tangle
to the .mustache artefacts consumed by generator.py; this page
explains what the group's facets have in common and indexes them.
Summary
The cmake group generates the build system of a component: the root
CMakeLists.txt, the flavour-specific src/ file, the Catch2 test
wiring, and the PlantUML modeling target. It is driven by the
component model element (not entities), following the
api/core/service split of the component architecture. It currently
holds a single facet.
Facets
The table below is generated — run
projects/ores.codegen/scripts/regenerate_facet_inventories.py after
adding or changing facet docs; do not edit it by hand.
| Facet | Templates | Description |
|---|---|---|
| CMake templates | 0 | Literate source for the cmake_* codegen templates: component root, src variants (lib, api, core, service), tests, modeling, and the standalone service src. Each template is documented and tangled to its .mustache artefact. |
Shared conventions
{{{cmake_license}}}triple-stache injects the licence header verbatim from the generator's standard data; it is not part of the component model.- Everything renders inside a
{{#component}}section providingfull_name,full_name_upperand, for split components,api_full_name/core_full_name. - CMake's
${var}syntax passes through Mustache untouched — braces are only magic when doubled.
See also
- Codegen template library — the groups overview.
- MASD — the methodology these templates instantiate.
- Applied MASD — the facet catalogue and codegen routes.
- facet_catalogue.org — profile → template/output mapping.