Skip to content

Commit

Permalink
Various changes to the doxygen configuration.
Browse files Browse the repository at this point in the history
1) Use LOOKUP_CACHE_SIZE recommended by doxygen.

   After processing a directory, doxygen recommends the best cache
   size for the data that it has just ingested.  See the file
   doxygen-create-developer-docs.cfg for lots of information on the
   settings for this value.

2) Fix up the exclude paths patterns.

   a) Ignore .git files instead of .svn files.
   b) Ignore included V4L2 header file.
   c) Ignore file from the Qt3Support module.
   d) Ignore example code.
   e) Ignore contributed code.
   f) Ignore test direcories.
   g) Ignore the libmythmpeg2 directory. It has no documentation
      comments, but somehow confuses doxygen.
   h) Ignore aclib_template.c that gets included 4 times.

3) Graphing related tweaks.

   a) Use the default font since doxygen no longer ships with FreeSans.
   b) Allow up to 500 nodes in a graph. Necessary to generate the
   graph for mythlogging.h. Generate multiple dot files from a single
   command.

4) Process C-preprocessor directives.  This allows doxygen to process
   comments on #define'd constants.  A good example of this usage can
   be found in the file libs/libmythbase/exitcodes.h.
  • Loading branch information
linuxdude42 committed Aug 18, 2017
1 parent bc5b50a commit 93e7287
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions mythtv/docs/doxygen-create-developer-docs.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ TYPEDEF_HIDES_STRUCT = NO
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.

LOOKUP_CACHE_SIZE = 1
LOOKUP_CACHE_SIZE = 2

#---------------------------------------------------------------------------
# Build related configuration options
Expand Down Expand Up @@ -837,7 +837,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.

EXCLUDE = ../libs/libmythsamplerate
EXCLUDE = ../libs/libmythmpeg2

# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
Expand All @@ -855,7 +855,23 @@ EXCLUDE_SYMLINKS = NO

EXCLUDE_PATTERNS = moc_*.cpp \
moc_*.h \
*/.svn
*/contrib/* \
*/test/* \
*/.git

# Copy of header from V4L2 code
EXCLUDE_PATTERNS += videodev2.h

# Skip files from the Qt3Support module.
EXCLUDE_PATTERNS += mmembuf.cpp mmembuf.h \
msocketdevice.cpp msocketdevice.h \
msocketdevice_unix.cpp msocketdevice_win.cpp

# No doxygen comments at all, but causes warning messages.
EXCLUDE_PATTERNS += aclib_template.c

# Example code
EXCLUDE_PATTERNS += example.cpp

# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
Expand Down Expand Up @@ -1997,7 +2013,7 @@ PERLMOD_MAKEVAR_PREFIX =
# C-preprocessor directives found in the sources and include files.
# The default value is: YES.

ENABLE_PREPROCESSING = NO
ENABLE_PREPROCESSING = YES

# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
# in the source code. If set to NO, only conditional compilation will be
Expand Down Expand Up @@ -2100,6 +2116,13 @@ PREDEFINED = USING_XV \
_WIN32 \
USING_CETON

#
# This one produces errors either way. It is needed to prevent errors
# in from mythsystemlegacy.cpp and mythframe.cpp, but causes errors in
# verbosedefs.h.
#
PREDEFINED += __cplusplus

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
# macro definition that is found in the sources will be used. Use the PREDEFINED
Expand Down Expand Up @@ -2233,7 +2256,7 @@ DOT_NUM_THREADS = 0
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_FONTNAME = FreeSans
DOT_FONTNAME =

# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
Expand Down Expand Up @@ -2440,7 +2463,7 @@ PLANTUML_INCLUDE_PATH =
# Minimum value: 0, maximum value: 10000, default value: 50.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_GRAPH_MAX_NODES = 50
DOT_GRAPH_MAX_NODES = 500

# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
# generated by dot. A depth value of 3 means that only nodes reachable from the
Expand Down Expand Up @@ -2473,7 +2496,7 @@ DOT_TRANSPARENT = YES
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_MULTI_TARGETS = NO
DOT_MULTI_TARGETS = YES

# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
# explaining the meaning of the various boxes and arrows in the dot generated
Expand Down

0 comments on commit 93e7287

Please sign in to comment.