Building the Documentation Site#
The documentation site uses Sphinx with MyST Markdown and reStructuredText. Doxygen supplies the C++ API XML through Breathe, and Sphinx imports the built native Python bindings module to generate the Python reference. Package-level Python helpers, including PSM and other environment implementations, are not part of that reference.
On Arch Linux, install the documented toolchain:
sudo pacman -S doxygen python-sphinx python-breathe python-myst-parser \
python-sphinx-design python-pydata-sphinx-theme
Build the site through its dedicated API profile:
scripts/build_docs.sh
The script configures and builds the linux-docs-api preset, then writes the
site to build/docs-site/html/index.html. It uses a separate build directory,
so it does not alter a native development build.
For manual automation, configure the API package first, then point the standalone documentation project at its package directory:
cmake --preset linux-docs-api
cmake --build --preset linux-docs-api --target \
cressim_neo_python cressim_neo_python_package_files
cmake -S docs -B build/docs-site \
-DCRESSIM_NEO_PYTHON_PACKAGE_DIR="$PWD/build/linux-docs-api/bin"
cmake --build build/docs-site --target docs-html
docs-html runs Doxygen before Sphinx. Generated output stays below build/
and must not be committed. The repository-facing details are maintained in
docs/README.md.