Game Engine, C 1, P 11, Documentation with Doxygen, Sphinx, Breathe and Exhale

It honestly feels good to return to the engine itself after spending time on benchmarking. I have quite a few plans to do in the near future, but let's start the year with something simpler.
Image from pixabay.com
You may be wondering, why do I need documentation for a toy project? There are several answers to this question. First of all, I want to understand my own code after some time passes. I had this issue before. When I opened the Vivid Engine project folder, I was bombarded with tons of small files. It's a good idea to organize everything as much as possible. Secondly, I hope at least pieces of the engine will be useful to other people.

What to do

I want to stress that this isn't a tutorial on how to achieve nice docs with the listed technologies. I managed to get it working in a bit more than an hour, so this isn't that complex.
Firstly, install Doxygen and add it to %PATH%. This is important, because you want your CMake file to be able to find it. Then install python, preferable >= 3.6. Then perform installs of sphinx, breathe and exhale in the mentioned order. They have weird version dependencies on one another, so using a different order may make it more difficult for you to install everything correctly.
Now that you have everything installed, you can follow these links to set everything up and running:
  1. Clear, Functional C++ Documentation with Sphinx + Breathe + Doxygen + CMake
  2. Breathe docs
  3. Exhale docs

Results

Overall, the process was pretty simple and painless. You can see the project with docs here. There is a dedicated folder for the generated html docs, but I feel like it is far too raw to use in the current state. When I document most of what I want, I'll move the generated files there and you'll be able to see them yourselves.

Comments