Documentation#

LIBRA provides targets for generating and checking API documentation (Doxygen) and project documentation (Sphinx). This page covers tool-specific behaviour and known issues. For the target reference, see Target reference.

General behaviour#

Documentation targets do not depend on the main project build, so they can run in CI before or independently of the build step. Enable them with LIBRA_DOCS.

Both apidoc and sphinxdoc targets are attempted independently when running clibra docs. If a target is unavailable (e.g. doxygen is not installed), it is skipped with a warning rather than an error.

API documentation (Doxygen)#

The apidoc target generates API docs from your source using Doxygen. Requires a docs/Doxyfile.in in the project root.

For checker configuration, third-party header gotchas, and the step-by-step workflow, see Documentation.

Project documentation (Sphinx)#

The sphinxdoc target generates HTML project documentation using Sphinx. If the apidoc target exists, sphinxdoc depends on it so that API documentation is always current before Sphinx runs.

The Sphinx command used can be customized via LIBRA_SPHINXDOC_COMMAND if you need to pass additional arguments or use a wrapper script.

Currently, LIBRA only supports generating HTML output from Sphinx. Other builders (PDF, man pages, etc.) are not supported via the sphinxdoc target.