-
Notifications
You must be signed in to change notification settings - Fork 2
Generate C/Fortran API docs with Doxygen #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## main #52 +/- ##
=======================================
Coverage 70.12% 70.12%
=======================================
Files 5 5
Lines 164 164
=======================================
Hits 115 115
Misses 49 49
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Preview the docs here: https://trixi-framework.github.io/libtrixi/previews/PR52 Go to "Reference" ➡️ "C/Fortran", where you will find a link to the doxygen-generated docs: EDIT: The direct link to the C/Fortran API docs will not work anymore since we use proper subdirectories now. |
|
I would like to check the output of moxygen, but I can do this in a separate PR as well. |
… into msl/add-doxygen
The current state of the PR is that everything seems to work as it should, including the placement of the C/Fortran API into the proper folder such that it respects the versioning of Documenter.jl. I thus recommend we go ahead and merge this PR in its current state (after a review by you, of course). All improvements can then be iterated on in a new PR. |
To generate the docs, go to
docs/doxygenand rundoxygenwithout any arguments. You can then view the result by opening the filedocs/doxygen/build/html/index.htmlin your browswer.This is just a very early draft after playing around some (too much) time with Doxygen 🙄 One particular challenge is the fact that we have to document APIs in two languages (actually three, if you include Julia), and that some function names are identical. I believe that this similarity is the reason why, e.g., the documentation for the Fortran interface might not show up properly (or maybe it just doesn't support Fortran interfaces).
Instead of using Documenter.jl for the main docs and Doxygen for the C/Fortran API, we could also consider to use Doxygen only for the C part and using something like FORD for the Fortran part.
Anyhow, this is as far as I'm going to take it with docs. @bgeihe feel free to adopt this PR, add to it, or just close it again if you don't like it - I just didn't want to get the time I put into this go to waste entirely :-)
The following things one would have to do if willing to make this PR work: