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 providing full_name, full_name_upper and, 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

Emacs 29.1 (Org mode 9.6.6)