A configuration file is a free-form ASCII text file with a structure that
is similar to that of a Makefile. It is parsed by a
recursive-descent parser that is built into doxygen.
The file may contain tabs and newlines for formatting purposes.
The statements in the file are case-sensitive.
Comments may be placed anywhere within the file (except within quotes).
Comments begin with the #
character and end at the end of the
line.
The file essentially consists of a list of assignment statements.
Each statement consists of a TAG_NAME
written in capitals,
followed by the =
character and one or more values.
Values are sequences of non-blanks. If the value should contain one or more
blanks it must be surrounded by quotes ("...").
Multiple lines can be concatenated by inserting a backslash (\)
as the last character of a line.
Environment variables can expanded using the pattern $(ENV_VARIABLE_NAME).
The configuration options can be divided into four categories. Below is a list of tags that are recognized for each category.
PROJECT_NAME
PROJECT_NAME
tag is a single word (or a sequence of words
surrounded by double-quotes) that should identify the project for which the
documentation is generated. This name is used in the title of most
generated pages and in a few other places.
PROJECT_NUMBER
PROJECT_NUMBER
tag can be used to enter a project or revision number.
This could be handy for archiving the generated documentation or
if some version control system is used.
OUTPUT_DIRECTORY
OUTPUT_DIRECTORY
tag is used to specify the (relative or absolute)
path into which the generated HTML and Latex documentation will be written.
If a relative path is entered, it will be relative to the location
where doxygen was started. If left blank the current directory will be used.
HTML_OUTPUT
HTML_OUTPUT
tag is used to specify where the HTML docs will be put.
If a relative path is entered the value of OUTPUT_DIRECTORY
will be
put in front of it. If left blank `html' will be used as the default path.
LATEX_OUTPUT
LATEX_OUTPUT
tag is used to specify where the LaTeX docs will be put.
If a relative path is entered the value of OUTPUT_DIRECTORY
will be
put in front of it. If left blank `latex' will be used as the default path.
HTML_HEADER
HTML_HEADER
tag can be used to specify a user defined HTML
header file for each generated HTML page. To get valid HTML the header file
should contain at least a <HTML>
and a <BODY>
tag.
If it is left blank doxygen will generate a
standard header.
HTML_FOOTER
HTML_FOOTER
tag can be used to specify a user defined HTML footer for
each generated HTML page. To get valid HTML the header file should contain
at least a </BODY>
and a </HTML>
tag. If it is left blank doxygen will
generate a standard footer.
QUIET
QUIET
tag can be used to turn on/off the messages that are generated
to standard output by doxygen. Possible values are YES
and NO,
where YES
implies that the messages are off.
If left blank NO
is used.
WARNINGS
WARNINGS
tag can be used to turn on/off the warning messages that are
generated to standard error by doxygen. Possible values are YES
and NO,
where YES
implies that the warnings are on. If left blank NO
is used.
Tip: Turn warnings on while writing the documentation.
DISABLE_INDEX
EXTRACT_ALL
EXTRACT_ALL
tag is set to YES
all classes and functions will be
included in the documentation, even if no documentation was available.
WARNINGS
is set to YES
EXTRACT_PRIVATE
EXTRACT_PRIVATE
tag is set to YES
all
documentation for private members will be extracted as well.
HIDE_UNDOC_MEMBERS
HIDE_UNDOC_MEMBERS
tag is set to YES,
Doxygen will hide all
undocumented members inside documented classes or files.
If set to NO
(the default) these members will be included in the
various overviews, but no documentation section is generated.
GENERATE_LATEX
GENERATE_LATEX
tag is set to YES
(the default) Doxygen will
generate Latex output.
GENERATE_HTML
GENERATE_HTML
tag is set to YES
(the default) Doxygen will
generate HTML output
BRIEF_MEMBER_DESC
BRIEF_MEMBER_DESC
tag is set to YES (the default) Doxygen will
include brief member descriptions after the members that are listed in
the file and class documentation (similar to JavaDoc).
Set to NO to disable this.
FULL_PATH_NAMES
FULL_PATH_NAMES
tag is set to YES Doxygen will prepend the full
path before files name in the file list and in the header files. If set
to NO the shortest path that makes the file name unique will be used
INPUT
INPUT
tag is used to specify the files and/or directories that contain
documented source files. You may enter file names like
myfile.cpp
or directories like /usr/src/myproject.
Separate the files or directories with spaces.Notice: This tag (and only this tag) is required.
FILE_PATTERNS
INPUT
tag contains directories, you can use the
FILE_PATTERNS
tag to specify one or more wildcard patterns
(like *.cpp
and *.h
) to filter out the source-files
in the directories. If left blank all files are included
(i.e. wildcard *
).
EXAMPLE_PATH
EXAMPLE_PATH
tag can be used to specify one or more files or
directories that contain example code fragments that are included (see
the \include command in section "\include <file-name>").
INCLUDE_PATH
RECURSIVE
RECURSIVE
tag can be used to specify whether or not subdirectories
should be searched for input files as well. Possible values are YES
and NO.
If left blank NO
is used.
INPUT_FILTER
INPUT_FILTER
tag can be used to specify a program that doxygen should
invoke to filter for each input file. Doxygen will invoke the filter program
by executing (via popen()) the command:
<filter> <input-file>
where <filter>
is the value of the INPUT_FILTER
tag, and <input-file> is the name of an
input file. Doxygen will then use the output that the filter program writes
to standard output.
ENABLE_PREPROCESSING
ENABLE_PREPROCESSING
tag is set to YES
(the default) Doxygen will
evaluate all C-preprocessor directives found in the sources and include
files.
MACRO_EXPANSION
MACRO_EXPANSION
tag is set to YES
Doxygen will expand all macro
names in the source code. If set to NO
(the default) only conditional
compilation will be performed.
SEARCH_INCLUDES
INCLUDE_PATH
tag can be used to specify one or more directories that
contain include files that are not input files but should be processed by
the preprocessor.
INCLUDE_PATH
INCLUDE_PATH
tag can be used to specify one or more directories that
contain include files that are not input files but should be processed by
the preprocessor.
PREDEFINED
PREDEFINED
tag can be used to specify one or more macro names that
are defined before the preprocessor is started (similar to the -D option of
gcc). The argument of the tag is a list of macros of the form:
name
or name=definition
(no spaces).
In the former case 1 is used as the definition.
EXPAND_ONLY_PREDEF
EXPAND_ONLY_PREDEF
and MACRO_EXPANSION
tags are both set to YES
then the macro expansion is limited to the macros specified with the
PREDEFINED
tag.
TAGFILES
TAGFILES
tag can be used to specify one or more tagfiles.
See section "Doxytag usage" for more information about the usage of
tag files.
GENERATE_TAGFILE
GENERATE_TAGFILE,
doxygen will create
a tag file that is based on the input files it reads.
See section "Doxytag usage" for more information about the usage of
tag files.
ALLEXTERNALS
ALLEXTERNALS
tag is set to YES
all external class will be listed
in the class index. If set to NO
only the inherited external classes
will be listed.
PERL_PATH
PERL_PATH
should be the absolute path and name of the perl script
interpreter (i.e. the result of `which perl
').
SEARCHENGINE
SEARCHENGINE
tag specifies whether or not a
search should be used. Possible values are YES
and NO.
If set to NO
or left blank, the values of all other tags in this section
will be ignored.
CGI_NAME
CGI_NAME
tag should be the name of the CGI script that
starts the search engine (doxysearch
) with the correct parameters.
A script with this name will be generated by doxygen.
CGI_URL
CGI_URL
tag should be the absolute URL to the directory where the
cgi binaries are located. See the documentation of your http daemon for
details.
DOC_URL
DOC_URL
tag should be the absolute URL to the directory where the
documentation is located. If left blank the absolute path to the
documentation, with file://
prepended to it, will be used.
This is correct for local viewing only.
DOC_ABSPATH
DOC_ABSPATH
tag should be the absolute path to the directory where the
documentation is located. If left blank the directory on the local machine
will be used.
BIN_ABSPATH
BIN_ABSPATH
tag must point to the directory where the doxysearch binary
is installed.
EXT_DOC_PATHS
EXT_DOC_PATHS
tag can be used to specify one or more paths to
documentation generated for other projects. This allows doxysearch to search
the documentation for these projects as well. All paths must be absolute.
Suppose you have a simple project consisting of two files: a source file
example.cc
and a header file example.h.
Then a minimal configuration file is as simple as:
INPUT = example.cc example.h
Assuming the example makes use of Qt classes and perl is located
in /usr/bin
, a more realistic configuration file would be:
PROJECT_NAME = Example INPUT = example.cc example.h WARNINGS = YES TAGFILES = qt.tag PERL_PATH = /usr/bin/perl SEARCHENGINE = NO
To generate the documentation for the QdbtTabular package I have used the following configuration file:
PROJECT_NAME = QdbtTabular OUTPUT_DIRECTORY = html WARNINGS = YES INPUT = examples/examples.doc src FILE_PATTERNS = *.cc *.h INCLUDE_PATH = examples TAGFILES = qt.tag PERL_PATH = /usr/local/bin/perl SEARCHENGINE = YES CGI_NAME = search.cgi CGI_URL = http://www.stack.nl/~dimitri/cgi-bin DOC_URL = http://www.stack.nl/~dimitri/qdbttabular DOC_ABSPATH = /home/dimitri/.html/qdbttabular BIN_ABSPATH = /home/dimitri/bin