Zen

  • Do not require enumeration of source files; use globs.

  • Do not require specification of targets; infer these from exported modules.

  • Do not require finding/linking to libraries; infer these from imported modules.

  • Do not require install manifests; generate and install what’s necessary.

  • Do not lock authors into learning maud equivalents for what’s already available in cmake; reverting to configuration is easy.

  • Do not promise dependency management; there is no single best answer to this (and there are plenty of okay-ish answers, and a few people stuck with poor ones).

struct Parameter : c4::yml::ConstNodeRef
[source]

A helper for unit tests parameterized using a YAML file.

FIXME remove this when I figure out how to test sphinx better

std::string name() const
[source]

Each test parameter is identified by name (its key in the top level mapping)

static auto read_file(std::filesystem::path const &path)
[source]

Read a file containing a YAML mapping into a vector<Parameter>

FIXME where should this live

Directories named include are globbed up and added to INCLUDE_DIRECTORIES, so $project_root/subtool/include/subtool/foo.hxx can be included with #include "subtool/foo.hxx" from any header or source.