Integrate doxygen docs into Sphinx#466
Merged
evaneschneider merged 10 commits intocholla-hydro:devfrom Feb 4, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This introduces a custom extension (doxybuild) to build the doxygen-docs as a part of sphinx.
Essentially the doxybuild extension adopts the following procedure:
docs/doxygen/Doxyfileand overwrites a few settings (namely the destination where the files are written and the path to the source-code directory)index.rstfile at the location where the index.html file generated by the doxygen docs will be storedReference/internal-api-ref/index.rstA bunch of logic is also generated to properly cache the doxygen build. In other words, iteratively rebuilding the docs won't retrigger doxygen every single time (if we don't care about this, we can cull the behavior)
Footnotes
The only real alternative was to put a dummy url-link in the table-of-contents and then replace that absolute link in all html files at the end of the build ↩
sphinx.ext.apidocis used to autogenerate docs for python modules ↩