Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Excluding specific headers from dependency graphs

Tags:

dot

doxygen

I am not sure whether this is to be a doxygen or a dot question, but here goes.

In my project I have many files that need to include common headers such stdlib.h, stdint.h, and so on. When I ask doxygen to generate the dependency graphs for each of my files, this leads to a lot of clutter and noise as the drawing tool always reuses existing nodes and never duplicates them.

Can I somehow tell doxygen to exclude a set of headers from the generated graph, simply ignore them completely? I'd prefer not to resort to horrible preprocessor tricks to delete the #include's when building the documentation.

I found a couple mailing list threads of someone asking the same thing, but they either got no reply or a suggestion about playing with the dependency graph's maximum depth, which simply does not work, as the headers can be included at any depth (so doing that ends up munching my own local headers).

like image 952
Thomas Avatar asked Jul 22 '13 09:07

Thomas


1 Answers

Bit of a long shot this because my doxygen is a bit rusty, but have you tried

\cond \endcond

around the header section. (Conditional inclusion, but blank = false)

For example, the standard C or C++ headers usually clutter the dependency graph pretty much, so you might want to remove them from that graph (as their usage can be considered as part of the language). You can do that on a file basis like this (tested with 1.8.7):

/// \cond
#include <iostream>
#include <string>   // whatever...
/// \endcond

In other instances this excludes the code between the markers from being visible to doxygen, but I'm unsure it will work for this instance.

like image 133
Cheeseminer Avatar answered Oct 27 '22 07:10

Cheeseminer