GalSim-developers / GalSim

The modular galaxy image simulation toolkit. Documentation:
http://galsim-developers.github.io/GalSim/
Other
227 stars 107 forks source link

Add documentation for the public C++ API in the main Sphinx docs. #1161

Closed rmjarvis closed 2 years ago

rmjarvis commented 2 years ago

A long time ago, we used to use Doxygen for our docs, and had it make both C++ and python documentation. It never looked very pretty, so we switched to Sphinx for the python. But Sphinx doesn't really do C++, so we just dropped the C++ docs at the time.

However, in response to issue #1150, I looked into it and discovered that there is a project called Breathe, which can take doxygen output and put it in Sphinx docs. So I tried it out last night and it seems to work ok. It's not super pretty, but it's basically functional.

This PR adds a first pass at this, adding a C++ Layer section to the left side bar in the docs. I think I added all the relevant C++ functions and classes that we expect C++ GalSim users to potentially care about, skipping a lot of the implementation details. I also didn't try to improve out doxygen markup at all, so whatever was there is all we have right now. I also added some quick text giving an overview of how people can get the C++ library to link to and such.

I think this is probably fine for now as a straw man for people to improve later if they are so motivated.

rmjarvis commented 2 years ago

Thanks Matt!