Doxygen is the de facto standard for generating
documentation from annotated C++ sources.
Doxygen's website is: https://www.doxygen.nl
- On Linux, I prefer compile my own version of Doxygen.
- On Windows, I install it from a Setup file.
- I've done a lot of experimentation with Doxygen and I've developed a baseline configuration that I really like.
- I need to use DOT but not DIA which is very old and is not maintained anymore.
- Here's a great link on Doxygen's graphics capabilities: Dig into it: https://alesnosek.com/blog/2015/06/28/diagrams-and-images-in-doxygen/
DOT is a tool from Graphviz
As a mortal user:
wget https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/7.0.5/graphviz-7.0.5.tar.gz
gunzip graphviz-7.0.5.tar.gz
tar -xvf graphviz-7.0.5.tar
cd graphviz-7.0.5
./configure
make
sudo make install
As root:
pacman -S clang
As root:
pacman -S llvm # This is 368MB, but it's only needed to compile DOxygen. We will remove it after.
pacman -S xapian-core
As a mortal user:
wget https://www.doxygen.nl/files/doxygen-1.9.6.src.tar.gz
gunzip doxygen-1.9.6.src.tar.gz
tar -xvf doxygen-1.9.6.src.tar
cd doxygen-1.9.6
mkdir build
cd build
cmake -L ..
cmake -G "Unix Makefiles" -Dbuild_search=ON -Duse_libclang=YES -Denable_coverage=ON -Dbuild_parse=ON ..
make -j 3 # Watch your memory and CPU utilization... This needs at least 4G of memory
make -j 1 # Takes 10 minutes to build, but can be done in 2G of memory
make test
sudo make install
As root:
sudo pacman -R xapian-core
sudo pacman -R llvm # This is 368MB, but it's only needed to compile DOxygen. We will remove it after.
- TODO... but I wire it into Tools
cdto the directory and simply rundoxygen
- I clone the configuration from an existing app, then pick through the config line-by-line until I'm happy with it. I have a lot of customizations, but it looks good the way I publish it.