Better include dependency graph generator
authorTeemu Murtola <teemu.murtola@gmail.com>
Sat, 22 Mar 2014 20:16:51 +0000 (22:16 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sat, 29 Mar 2014 13:52:50 +0000 (14:52 +0100)
commit8f3461734deb54b91c5d50afbbaf873bfd2160bb
treebaa012054e7317aa2be6a32930f3b8989037a88f
parente92061ffc79498cea652306380d8cd6947ed99f4
Better include dependency graph generator

Rewrite the include dependency graph generator to use the scripts used
for the doc-check target.  Most of the graph generation code is still
the same as in the old includedeps.py (except for some renaming and
other cleanup), but it now uses the data structures in gmxtree.py as
input instead of custom parsing.  Only real differences in the output
for now:
 - The module graph colors nodes based on the group they are documented
   in.  All modules that don't have explicit documentation are now
   marked as "legacy".
 - The file graphs don't use clusters for subdirectories, but instead
   only color tests differently.  Not sure which one is clearer; the
   answer may even depend on the module.

However, the new code is much cleaner and easier to extend than the old
one was, so improving the graphs further should be much easier now.

The generated graph is also laid out differently, but that may just be
by chance; because of existing cyclic dependencies, dot doesn't produce
stable layouts, and the layout can depend on the order of things in the
generated graph.  Since the internal data structures are now mainly
dicts, stuff is likely in a different order than what it used to be.

doxygen.md now also has a bit more documentation for the graphs.

Change-Id: I0530c8e4278890fdb5b5d874bda6fef3521a704e
admin/includedeps.cmake [deleted file]
admin/includedeps.py [deleted file]
doxygen/CMakeLists.txt
doxygen/doxygen.md
doxygen/doxygenxml.py
doxygen/generateGraphs.cmake [new file with mode: 0644]
doxygen/gmxtree.py
doxygen/graphbuilder.py [new file with mode: 0755]
doxygen/reporter.py