3 <docs doxywizard='0' doxyfile='0'>
9 * Copyright (C) 1997-2015 by Dimitri van Heesch.
11 * Permission to use, copy, modify, and distribute this software and its
12 * documentation under the terms of the GNU General Public License is hereby
13 * granted. No representations are made about the suitability of this software
14 * for any purpose. It is provided "as is" without express or implied warranty.
15 * See the GNU General Public License for more details.
17 * Documents produced by Doxygen are derivative works derived from the
18 * input used in their production; they are not affected by this license.
21 /*! \page config Configuration
24 \section config_format Format
26 A configuration file is a free-form ASCII text file with a structure
27 that is similar to that of a \c Makefile, with the default name \c Doxyfile. It is
28 parsed by \c doxygen. The file may contain tabs and newlines for
29 formatting purposes. The statements in the file are case-sensitive.
30 Comments may be placed anywhere within the file (except within quotes).
31 Comments beginning with two hash characters (\c \#\#) are kept when updating
32 the configuration file and are placed in front of the TAG they are in front of.
33 Comments beginning with two hash characters (\c \#\#) at the beginning of the
34 configuration file are also kept and placed at the beginning of the file.
35 Comments beginning with two hash characters (\c \#\#) at the end of the
36 configuration file are also kept and placed at the end of the file.
37 Comments begin with the hash character (\c \#) and ends at the end of the line.
39 The file essentially consists of a list of assignment statements.
40 Each statement consists of a \c TAG_NAME written in capitals,
41 followed by the equal sign (<code>=</code>) and one or more values. If the same tag
42 is assigned more than once, the last assignment overwrites any earlier
43 assignment. For tags that take a list as their argument,
44 the <code>+=</code> operator can be used instead of <code>=</code> to append
45 new values to the list. Values are sequences of non-blanks. If the value should
46 contain one or more blanks it must be surrounded by quotes (<code>"..."</code>).
47 Multiple lines can be concatenated by inserting a backslash (\c \\)
48 as the last character of a line. Environment variables can be expanded
49 using the pattern <code>\$(ENV_VARIABLE_NAME)</code>.
51 You can also include part of a configuration file from another configuration
52 file using a <code>\@INCLUDE</code> tag as follows:
54 @INCLUDE = config_file_name
56 The include file is searched in the current working directory. You can
57 also specify a list of directories that should be searched before looking
58 in the current working directory. Do this by putting a <code>\@INCLUDE_PATH</code> tag
59 with these paths before the <code>\@INCLUDE</code> tag, e.g.:
61 @INCLUDE_PATH = my_config_dir
64 The configuration options can be divided into several categories.
65 Below is an alphabetical index of the tags that are recognized
66 followed by the descriptions of the tags grouped by category.
69 <docs doxywizard='0' documentation='0'>
71 This file describes the settings to be used by the documentation system
72 doxygen (www.doxygen.org) for a project.
74 All text after a double hash (##) is considered a comment and is placed
75 in front of the TAG it is preceding.<br>
76 All text after a single hash (#) is considered a comment and will be ignored.
79 TAG = value [value, ...]
81 For lists, items can also be appended using:
83 TAG += value [value, ...]
85 Values that contain spaces should be placed between quotes (\" \").
90 <docs doxywizard='0' doxyfile='0'>
92 \section config_examples Examples
94 Suppose you have a simple project consisting of two files: a source file
95 \c example.cc and a header file \c example.h.
96 Then a minimal configuration file is as simple as:
98 INPUT = example.cc example.h
101 Assuming the example makes use of Qt classes and \c perl is located
102 in <code>/usr/bin</code>, a more realistic configuration file would be:
104 PROJECT_NAME = Example
105 INPUT = example.cc example.h
108 PERL_PATH = /usr/local/bin/perl
112 To generate the documentation for the
113 <a href="http://www.stack.nl/~dimitri/qdbttabular/index.html">QdbtTabular</a> package
114 I have used the following configuration file:
116 PROJECT_NAME = QdbtTabular
117 OUTPUT_DIRECTORY = html
119 INPUT = examples/examples.doc src
120 FILE_PATTERNS = *.cc *.h
121 INCLUDE_PATH = examples
123 PERL_PATH = /usr/bin/perl
127 To regenerate the Qt-1.44 documentation from the sources, you could use the
128 following config file:
131 OUTPUT_DIRECTORY = qt_docs
132 HIDE_UNDOC_MEMBERS = YES
133 HIDE_UNDOC_CLASSES = YES
134 ENABLE_PREPROCESSING = YES
135 MACRO_EXPANSION = YES
136 EXPAND_ONLY_PREDEF = YES
137 SEARCH_INCLUDES = YES
138 FULL_PATH_NAMES = YES
139 STRIP_FROM_PATH = $(QTDIR)/
140 PREDEFINED = USE_TEMPLATECLASS Q_EXPORT= \
146 QPtrDictT:=QPtrDict \
147 QIntDictT:=QIntDict \
149 QDictIteratorT:=QDictIterator \
150 QListIteratorT:=QListIterator \
152 QCacheIteratorT:=QCacheIterator \
153 QIntCacheT:=QIntCache \
154 QIntCacheIteratorT:=QIntCacheIterator \
155 QIntDictIteratorT:=QIntDictIterator \
156 QPtrDictIteratorT:=QPtrDictIterator
157 INPUT = $(QTDIR)/doc \
158 $(QTDIR)/src/widgets \
159 $(QTDIR)/src/kernel \
160 $(QTDIR)/src/dialogs \
162 FILE_PATTERNS = *.cpp *.h q*.doc
163 INCLUDE_PATH = $(QTDIR)/include
167 For the Qt-2.1 sources I recommend to use the following settings:
171 HIDE_UNDOC_MEMBERS = YES
172 HIDE_UNDOC_CLASSES = YES
175 FILE_PATTERNS = *.cpp *.h q*.doc
177 EXCLUDE_PATTERNS = *codec.cpp moc_* */compat/* */3rdparty/*
178 ALPHABETICAL_INDEX = YES
179 COLS_IN_ALPHA_INDEX = 3
181 ENABLE_PREPROCESSING = YES
182 MACRO_EXPANSION = YES
183 INCLUDE_PATH = $(QTDIR)/include
184 PREDEFINED = Q_PROPERTY(x)= \
188 "QT_STATIC_CONST=static const " \
191 EXPAND_ONLY_PREDEF = YES
192 EXPAND_AS_DEFINED = Q_OBJECT_FAKE Q_OBJECT ACTIVATE_SIGNAL_WITH_PARAM \
196 Here doxygen's preprocessor is used to substitute some
197 macro names that are normally substituted by the C preprocessor,
198 but without doing full macro expansion.
202 Go to the <a href="commands.html">next</a> section or return to the
203 <a href="index.html">index</a>.
211 <group name='Project' docs='Project related configuration options'>
212 <option type='string' id='DOXYFILE_ENCODING' format='string' defval='UTF-8'>
215 This tag specifies the encoding used for all characters in the config file that
216 follow. The default is UTF-8 which is also the encoding used for all text before
217 the first occurrence of this tag. Doxygen uses \c libiconv (or the iconv built into
218 \c libc) for the transcoding. See https://www.gnu.org/software/libiconv/ for the list of
223 <option type='string' id='PROJECT_NAME' format='string' defval='My Project'>
226 The \c PROJECT_NAME tag is a single word (or a sequence of words
227 surrounded by double-quotes, unless you are using Doxywizard) that should identify the project for which the
228 documentation is generated. This name is used in the title of most
229 generated pages and in a few other places.
233 <option type='string' id='PROJECT_NUMBER' format='string' defval=''>
236 The \c PROJECT_NUMBER tag can be used to enter a project or revision number.
237 This could be handy for archiving the generated documentation or
238 if some version control system is used.
242 <option type='string' id='PROJECT_BRIEF' format='string' defval=''>
245 Using the \c PROJECT_BRIEF tag one can provide an optional one line description
246 for a project that appears at the top of each page and should give viewer
247 a quick idea about the purpose of the project. Keep the description short.
252 <option type='string' id='PROJECT_LOGO' format='image' defval=''>
255 With the \c PROJECT_LOGO tag one can specify a logo or an icon that is
256 included in the documentation. The maximum height of the logo should not
257 exceed 55 pixels and the maximum width should not exceed 200 pixels.
258 Doxygen will copy the logo to the output directory.
262 <option type='string' id='OUTPUT_DIRECTORY' format='dir' defval=''>
265 The \c OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
266 path into which the generated documentation will be written.
267 If a relative path is entered, it will be relative to the location
268 where doxygen was started. If left blank the current directory will be used.
272 <option type='bool' id='CREATE_SUBDIRS' defval='0'>
275 If the \c CREATE_SUBDIRS tag is set to \c YES then doxygen will create
276 4096 sub-directories (in 2 levels) under the output directory of each output
277 format and will distribute the generated files over these directories.
278 Enabling this option can be useful when feeding doxygen a huge amount of source
279 files, where putting all generated files in the same directory would otherwise
280 causes performance problems for the file system.
284 <option type='bool' id='ALLOW_UNICODE_NAMES' defval='0'>
287 If the \c ALLOW_UNICODE_NAMES tag is set to \c YES,
288 doxygen will allow non-ASCII characters to appear in the names of generated files.
289 If set to \c NO, non-ASCII characters will be escaped, for example _xE3_x81_x84
290 will be used for Unicode U+3044.
294 <option type='enum' id='OUTPUT_LANGUAGE' defval='English'>
297 The \c OUTPUT_LANGUAGE tag is used to specify the language in which all
298 documentation generated by doxygen is written. Doxygen will use this
299 information to generate all constant output in the proper language.
302 <value name='Afrikaans'/>
303 <value name='Arabic'/>
304 <value name='Armenian'/>
305 <value name='Brazilian'/>
306 <value name='Catalan'/>
307 <value name='Chinese'/>
308 <value name='Chinese-Traditional'/>
309 <value name='Croatian'/>
310 <value name='Czech'/>
311 <value name='Danish'/>
312 <value name='Dutch'/>
313 <value name='English' desc='(United States)'/>
314 <value name='Esperanto'/>
315 <value name='Farsi' desc='(Persian)'/>
316 <value name='Finnish'/>
317 <value name='French'/>
318 <value name='German'/>
319 <value name='Greek'/>
320 <value name='Hungarian'/>
321 <value name='Indonesian'/>
322 <value name='Italian'/>
323 <value name='Japanese'/>
324 <value name='Japanese-en' desc='(Japanese with English messages)'/>
325 <value name='Korean'/>
326 <value name='Korean-en' desc='(Korean with English messages)'/>
327 <value name='Latvian'/>
328 <value name='Lithuanian'/>
329 <value name='Macedonian'/>
330 <value name='Norwegian'/>
331 <value name='Persian' desc='(Farsi)'/>
332 <value name='Polish'/>
333 <value name='Portuguese'/>
334 <value name='Romanian'/>
335 <value name='Russian'/>
336 <value name='Serbian'/>
337 <value name='Serbian-Cyrillic'/>
338 <value name='Slovak'/>
339 <value name='Slovene'/>
340 <value name='Spanish'/>
341 <value name='Swedish'/>
342 <value name='Turkish'/>
343 <value name='Ukrainian'/>
344 <value name='Vietnamese'/>
346 <option type='bool' id='BRIEF_MEMBER_DESC' defval='1'>
349 If the \c BRIEF_MEMBER_DESC tag is set to \c YES, doxygen will
350 include brief member descriptions after the members that are listed in
351 the file and class documentation (similar to \c Javadoc).
352 Set to \c NO to disable this.
356 <option type='bool' id='REPEAT_BRIEF' defval='1'>
359 If the \c REPEAT_BRIEF tag is set to \c YES, doxygen will
360 prepend the brief description of a member or function before the detailed
363 If both \ref cfg_hide_undoc_members "HIDE_UNDOC_MEMBERS" and
364 \ref cfg_brief_member_desc "BRIEF_MEMBER_DESC" are set to \c NO, the
365 brief descriptions will be completely suppressed.
369 <option type='list' id='ABBREVIATE_BRIEF' format='string'>
372 This tag implements a quasi-intelligent brief description abbreviator
373 that is used to form the text in various listings. Each string
374 in this list, if found as the leading text of the brief description, will be
375 stripped from the text and the result, after processing the whole list, is used
376 as the annotated text. Otherwise, the brief description is used as-is. If left
377 blank, the following values are used (`$name` is automatically replaced with the
381 <value name='The $name class'/>
382 <value name='The $name widget'/>
383 <value name='The $name file'/>
385 <value name='provides'/>
386 <value name='specifies'/>
387 <value name='contains'/>
388 <value name='represents'/>
393 <option type='bool' id='ALWAYS_DETAILED_SEC' defval='0'>
396 If the \c ALWAYS_DETAILED_SEC and \ref cfg_repeat_brief "REPEAT_BRIEF" tags
397 are both set to \c YES then
398 doxygen will generate a detailed section even if there is only a brief
403 <option type='bool' id='INLINE_INHERITED_MEMB' defval='0'>
406 If the \c INLINE_INHERITED_MEMB tag is set to \c YES, doxygen will show all inherited
407 members of a class in the documentation of that class as if those members were
408 ordinary class members. Constructors, destructors and assignment operators of
409 the base classes will not be shown.
413 <option type='bool' id='FULL_PATH_NAMES' defval='1'>
416 If the \c FULL_PATH_NAMES tag is set to \c YES, doxygen will prepend the full
417 path before files name in the file list and in the header files. If set
418 to \c NO the shortest path that makes the file name unique will be used
422 <option type='list' id='STRIP_FROM_PATH' format='string' depends='FULL_PATH_NAMES'>
425 The \c STRIP_FROM_PATH tag
426 can be used to strip a user-defined part of the path. Stripping is
427 only done if one of the specified strings matches the left-hand part of the
428 path. The tag can be used to show relative paths in the file list.
429 If left blank the directory from which doxygen is run is used as the
431 <br>Note that you can specify absolute paths here, but also
432 relative paths, which will be relative from the directory where doxygen is
438 <option type='list' id='STRIP_FROM_INC_PATH' format='string'>
441 The \c STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
442 the path mentioned in the documentation of a class, which tells
443 the reader which header file to include in order to use a class.
444 If left blank only the name of the header file containing the class
445 definition is used. Otherwise one should specify the list of include paths that
446 are normally passed to the compiler using the `-I` flag.
450 <option type='bool' id='SHORT_NAMES' defval='0'>
453 If the \c SHORT_NAMES tag is set to \c YES, doxygen will generate much shorter
454 (but less readable) file names. This can be useful is your file systems
455 doesn't support long names like on DOS, Mac, or CD-ROM.
459 <option type='bool' id='JAVADOC_AUTOBRIEF' defval='0'>
462 If the \c JAVADOC_AUTOBRIEF tag is set to \c YES then doxygen
463 will interpret the first line (until the first dot) of a Javadoc-style
464 comment as the brief description. If set to \c NO, the
465 Javadoc-style will behave just like regular Qt-style comments
466 (thus requiring an explicit \ref cmdbrief "\@brief" command for a brief description.)
470 <option type='bool' id='QT_AUTOBRIEF' defval='0'>
473 If the \c QT_AUTOBRIEF tag is set to \c YES then doxygen
474 will interpret the first line (until the first dot) of a Qt-style
475 comment as the brief description. If set to \c NO, the
476 Qt-style will behave just like regular Qt-style comments (thus
477 requiring an explicit \ref cmdbrief "\\brief" command for a brief description.)
481 <option type='bool' id='MULTILINE_CPP_IS_BRIEF' defval='0'>
484 The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make doxygen
485 treat a multi-line C++ special comment block (i.e. a block of \c //! or \c ///
486 comments) as a brief description. This used to be the default behavior.
487 The new default is to treat a multi-line C++ comment block as a detailed
488 description. Set this tag to \c YES if you prefer the old behavior instead.
489 <br>Note that setting this tag to \c YES also means that rational rose comments
490 are not recognized any more.
494 <option type='bool' id='INHERIT_DOCS' defval='1'>
497 If the \c INHERIT_DOCS tag is set to \c YES then an undocumented
498 member inherits the documentation from any documented member that it
503 <option type='bool' id='SEPARATE_MEMBER_PAGES' defval='0'>
506 If the \c SEPARATE_MEMBER_PAGES tag is set to \c YES then doxygen will produce
507 a new page for each member. If set to \c NO, the documentation of a member will
508 be part of the file/class/namespace that contains it.
512 <option type='int' id='TAB_SIZE' minval='1' maxval='16' defval='4'>
515 The \c TAB_SIZE tag can be used to set the number of spaces in a tab.
516 Doxygen uses this value to replace tabs by spaces in code fragments.
520 <option type='list' id='ALIASES' format='string'>
523 This tag can be used to specify a number of aliases that act
524 as commands in the documentation. An alias has the form:
530 "sideeffect=@par Side Effects:\n"
533 put the command \c \\sideeffect (or \c \@sideeffect) in the documentation, which
534 will result in a user-defined paragraph with heading "Side Effects:".
535 You can put \ref cmdn "\\n"'s in the value part of an alias to insert newlines
536 (in the resulting output).
537 You can put `^^` in the value part of an alias to insert a newline as if
538 a physical newline was in the original file.
542 <option type='list' id='TCL_SUBST' format='string'>
545 This tag can be used to specify a number of word-keyword mappings (TCL only).
546 A mapping has the form <code>"name=value"</code>. For example adding
547 <code>"class=itcl::class"</code> will allow you to use the command class in the
548 <code>itcl::class</code> meaning.
552 <option type='bool' id='OPTIMIZE_OUTPUT_FOR_C' defval='0'>
555 Set the \c OPTIMIZE_OUTPUT_FOR_C tag to \c YES if your project consists
556 of C sources only. Doxygen will then generate output that is more tailored
557 for C. For instance, some of the names that are used will be different.
558 The list of all members will be omitted, etc.
562 <option type='bool' id='OPTIMIZE_OUTPUT_JAVA' defval='0'>
565 Set the \c OPTIMIZE_OUTPUT_JAVA tag to \c YES if your project consists of Java or
566 Python sources only. Doxygen will then generate output that is more tailored
567 for that language. For instance, namespaces will be presented as packages,
568 qualified scopes will look different, etc.
572 <option type='bool' id='OPTIMIZE_FOR_FORTRAN' defval='0'>
575 Set the \c OPTIMIZE_FOR_FORTRAN tag to \c YES if your project consists of Fortran
576 sources. Doxygen will then generate output that is tailored for Fortran.
580 <option type='bool' id='OPTIMIZE_OUTPUT_VHDL' defval='0'>
583 Set the \c OPTIMIZE_OUTPUT_VHDL tag to \c YES if your project consists of VHDL
584 sources. Doxygen will then generate output that is tailored for VHDL.
588 <option type='list' id='EXTENSION_MAPPING' format='string'>
591 Doxygen selects the parser to use depending on the extension of the files it parses.
592 With this tag you can assign which parser to use for a given extension.
593 Doxygen has a built-in mapping, but you can override or extend it using this tag.
594 The format is <code>ext=language</code>, where \c ext is a file extension, and language is one of
595 the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
596 Objective-C, Python, Fortran (fixed format Fortran: FortranFixed,
597 free formatted Fortran: FortranFree, unknown formatted Fortran: Fortran. In
598 the later case the parser tries to guess whether the code is fixed or free
599 formatted code, this is the default for Fortran type files), VHDL.
601 For instance to make doxygen treat
602 <code>.inc</code> files as Fortran files (default is PHP), and <code>.f</code> files as C (default is Fortran),
603 use: `inc=Fortran f=C`.
605 <br>Note: For files without extension you can use `no_extension` as a placeholder.
606 <br>Note that for custom extensions you also need to set \ref cfg_file_patterns "FILE_PATTERNS" otherwise the
607 files are not read by doxygen.
611 <option type='bool' id='MARKDOWN_SUPPORT' defval='1'>
614 If the \c MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all
615 comments according to the Markdown format, which allows for more readable
616 documentation. See http://daringfireball.net/projects/markdown/ for details.
617 The output of markdown processing is further processed by doxygen, so you
618 can mix doxygen, HTML, and XML commands with Markdown formatting.
619 Disable only in case of backward compatibilities issues.
623 <option type='int' id='TOC_INCLUDE_HEADINGS' minval='0' maxval='99' defval='0' depends='MARKDOWN_SUPPORT'>
626 When the \c TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings
627 up to that level are automatically included in the table of contents, even if
628 they do not have an id attribute.
629 \note This feature currently applies only to Markdown headings.
633 <option type='bool' id='AUTOLINK_SUPPORT' defval='1'>
636 When enabled doxygen tries to link words that correspond to documented classes,
637 or namespaces to their corresponding documentation. Such a link can be
638 prevented in individual cases by putting a \c % sign in front of the word or
639 globally by setting \c AUTOLINK_SUPPORT to \c NO.
643 <option type='bool' id='BUILTIN_STL_SUPPORT' defval='0'>
646 If you use STL classes (i.e. `std::string`, `std::vector`, etc.) but do not want to
647 include (a tag file for) the STL sources as input, then you should
648 set this tag to \c YES in order to let doxygen match functions declarations and
649 definitions whose arguments contain STL classes (e.g. `func(std::string`); versus
650 `func(std::string) {}`). This also make the inheritance and collaboration
651 diagrams that involve STL classes more complete and accurate.
655 <option type='bool' id='CPP_CLI_SUPPORT' defval='0'>
658 If you use Microsoft's C++/CLI language, you should set this option to \c YES to
659 enable parsing support.
663 <option type='bool' id='SIP_SUPPORT' defval='0'>
666 Set the \c SIP_SUPPORT tag to \c YES if your project consists
667 of <a href="https://www.riverbankcomputing.com/software/sip/intro">sip</a> sources only.
668 Doxygen will parse them like normal C++ but will assume all classes use public
669 instead of private inheritance when no explicit protection keyword is present.
673 <option type='bool' id='IDL_PROPERTY_SUPPORT' defval='1'>
676 For Microsoft's IDL there are \c propget and \c propput attributes to indicate getter
677 and setter methods for a property. Setting this option to \c YES
678 will make doxygen to replace the get and set methods by a property in the
679 documentation. This will only work if the methods are indeed getting or
680 setting a simple type. If this is not the case, or you want to show the
681 methods anyway, you should set this option to \c NO.
685 <option type='bool' id='DISTRIBUTE_GROUP_DOC' defval='0'>
688 If member grouping is used in the documentation and the \c DISTRIBUTE_GROUP_DOC
689 tag is set to \c YES then doxygen will reuse the documentation of the first
690 member in the group (if any) for the other members of the group. By default
691 all members of a group must be documented explicitly.
695 <option type='bool' id='GROUP_NESTED_COMPOUNDS' defval='0'>
698 If one adds a struct or class to a group and this option is enabled, then also
699 any nested class or struct is added to the same group. By default this option
700 is disabled and one has to add nested compounds explicitly via \ref cmdingroup "\\ingroup".
704 <option type='bool' id='SUBGROUPING' defval='1'>
707 Set the \c SUBGROUPING tag to \c YES to allow class member groups of
708 the same type (for instance a group of public functions) to be put as a
709 subgroup of that type (e.g. under the Public Functions section). Set it to
710 \c NO to prevent subgrouping. Alternatively, this can be done per class using
711 the \ref cmdnosubgrouping "\\nosubgrouping" command.
715 <option type='bool' id='INLINE_GROUPED_CLASSES' defval='0'>
718 When the \c INLINE_GROUPED_CLASSES tag is set to \c YES, classes, structs and
719 unions are shown inside the group in which they are included
720 (e.g. using \ref cmdingroup "\\ingroup") instead of on a separate page (for HTML and Man pages)
721 or section (for \f$\mbox{\LaTeX}\f$ and RTF).
722 <br>Note that this feature does not work in
723 combination with \ref cfg_separate_member_pages "SEPARATE_MEMBER_PAGES".
727 <option type='bool' id='INLINE_SIMPLE_STRUCTS' defval='0'>
730 When the \c INLINE_SIMPLE_STRUCTS tag is set to \c YES, structs, classes, and
731 unions with only public data fields or simple typedef fields will be shown
732 inline in the documentation of the scope in which they are defined (i.e. file,
733 namespace, or group documentation), provided this scope is documented. If set
734 to \c NO, structs, classes, and unions are shown on a separate
735 page (for HTML and Man pages) or section (for \f$\mbox{\LaTeX}\f$ and RTF).
739 <option type='bool' id='TYPEDEF_HIDES_STRUCT' defval='0'>
742 When \c TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or enum
743 is documented as struct, union, or enum with the name of the typedef. So
744 <code>typedef struct TypeS {} TypeT</code>, will appear in the documentation as a struct
745 with name \c TypeT. When disabled the typedef will appear as a member of a file,
746 namespace, or class. And the struct will be named \c TypeS. This can typically
747 be useful for C code in case the coding convention dictates that all compound
748 types are typedef'ed and only the typedef is referenced, never the tag name.
752 <option type='int' id='LOOKUP_CACHE_SIZE' minval='0' maxval='9' defval='0'>
753 <!-- be careful when changing these formulas as they are hard coded in the conversion script -->
756 The size of the symbol lookup cache can be
757 set using \c LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
758 their name and scope. Since this can be an expensive process and often the
759 same symbol appears multiple times in the code, doxygen keeps a cache of
760 pre-resolved symbols. If the cache is too small doxygen will become slower.
761 If the cache is too large, memory is wasted. The cache size is given by this
762 formula: \f$2^{(16+\mbox{LOOKUP\_CACHE\_SIZE})}\f$. The valid range is 0..9, the default is 0,
763 corresponding to a cache size of \f$2^{16} = 65536\f$ symbols.
764 At the end of a run doxygen will report the cache usage and suggest the
765 optimal cache size from a speed point of view.
770 <group name='Build' docs='Build related configuration options'>
771 <option type='bool' id='EXTRACT_ALL' defval='0'>
774 If the \c EXTRACT_ALL tag is set to \c YES, doxygen will assume all
775 entities in documentation are documented, even if no documentation was
776 available. Private class members and static file members will be hidden
777 unless the \ref cfg_extract_private "EXTRACT_PRIVATE" respectively
778 \ref cfg_extract_static "EXTRACT_STATIC" tags are set to \c YES.
780 \note This will also disable the warnings about undocumented members
781 that are normally produced when \ref cfg_warnings "WARNINGS" is
786 <option type='bool' id='EXTRACT_PRIVATE' defval='0'>
789 If the \c EXTRACT_PRIVATE tag is set to \c YES, all private members of a
790 class will be included in the documentation.
794 <option type='bool' id='EXTRACT_PACKAGE' defval='0'>
797 If the \c EXTRACT_PACKAGE tag is set to \c YES, all members with package
798 or internal scope will be included in the documentation.
802 <option type='bool' id='EXTRACT_STATIC' defval='0'>
805 If the \c EXTRACT_STATIC tag is set to \c YES, all static members of a file
806 will be included in the documentation.
810 <option type='bool' id='EXTRACT_LOCAL_CLASSES' defval='1'>
813 If the \c EXTRACT_LOCAL_CLASSES tag is set to \c YES, classes (and structs)
814 defined locally in source files will be included in the documentation.
815 If set to \c NO, only classes defined in header files are included. Does not
816 have any effect for Java sources.
820 <option type='bool' id='EXTRACT_LOCAL_METHODS' defval='0'>
823 This flag is only useful for Objective-C code. If set to \c YES, local
824 methods, which are defined in the implementation section but not in
825 the interface are included in the documentation.
826 If set to \c NO, only methods in the interface are included.
830 <option type='bool' id='EXTRACT_ANON_NSPACES' defval='0'>
833 If this flag is set to \c YES, the members of anonymous namespaces will be extracted
834 and appear in the documentation as a namespace called 'anonymous_namespace{file}',
835 where file will be replaced with the base name of the file that contains the anonymous
836 namespace. By default anonymous namespace are hidden.
840 <option type='bool' id='HIDE_UNDOC_MEMBERS' defval='0'>
843 If the \c HIDE_UNDOC_MEMBERS tag is set to \c YES, doxygen will hide all
844 undocumented members inside documented classes or files.
845 If set to \c NO these members will be included in the
846 various overviews, but no documentation section is generated.
847 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
851 <option type='bool' id='HIDE_UNDOC_CLASSES' defval='0'>
854 If the \c HIDE_UNDOC_CLASSES tag is set to \c YES, doxygen will hide all
855 undocumented classes that are normally visible in the class hierarchy.
856 If set to \c NO, these classes will be included in the
858 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
862 <option type='bool' id='HIDE_FRIEND_COMPOUNDS' defval='0'>
865 If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, doxygen will hide all
866 friend (class|struct|union) declarations.
867 If set to \c NO, these declarations will be included in the
872 <option type='bool' id='HIDE_IN_BODY_DOCS' defval='0'>
875 If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, doxygen will hide any
876 documentation blocks found inside the body of a function.
877 If set to \c NO, these blocks will be appended to the
878 function's detailed documentation block.
882 <option type='bool' id='INTERNAL_DOCS' defval='0'>
885 The \c INTERNAL_DOCS tag determines if documentation
886 that is typed after a \ref cmdinternal "\\internal" command is included. If the tag is set
887 to \c NO then the documentation will be excluded.
888 Set it to \c YES to include the internal documentation.
892 <option type='bool' id='CASE_SENSE_NAMES' defval='0' altdefval='portable_fileSystemIsCaseSensitive()'>
895 If the \c CASE_SENSE_NAMES tag is set to \c NO then doxygen
896 will only generate file names in lower-case letters. If set to
897 \c YES, upper-case letters are also allowed. This is useful if you have
898 classes or files whose names only differ in case and if your file system
899 supports case sensitive file names. Windows and Mac users are advised to set this
904 <option type='bool' id='HIDE_SCOPE_NAMES' defval='0'>
907 If the \c HIDE_SCOPE_NAMES tag is set to \c NO then doxygen
908 will show members with their full class and namespace scopes in the
909 documentation. If set to \c YES, the scope will be hidden.
913 <option type='bool' id='HIDE_COMPOUND_REFERENCE' defval='0'>
916 If the \c HIDE_COMPOUND_REFERENCE tag is set to \c NO (default) then
917 doxygen will append additional text to a page's title, such as Class Reference.
918 If set to \c YES the compound reference will be hidden.
922 <option type='bool' id='SHOW_INCLUDE_FILES' defval='1'>
925 If the \c SHOW_INCLUDE_FILES tag is set to \c YES then doxygen
926 will put a list of the files that are included by a file in the documentation
931 <option type='bool' id='SHOW_GROUPED_MEMB_INC' defval='0'>
934 If the SHOW_GROUPED_MEMB_INC tag is set to \c YES then Doxygen
935 will add for each grouped member an include statement to the documentation,
936 telling the reader which file to include in order to use the member.
940 <option type='bool' id='FORCE_LOCAL_INCLUDES' defval='0'>
943 If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then doxygen
944 will list include files with double quotes in the documentation
945 rather than with sharp brackets.
949 <option type='bool' id='INLINE_INFO' defval='1'>
952 If the \c INLINE_INFO tag is set to \c YES then a tag [inline]
953 is inserted in the documentation for inline members.
957 <option type='bool' id='SORT_MEMBER_DOCS' defval='1'>
960 If the \c SORT_MEMBER_DOCS tag is set to \c YES then doxygen
961 will sort the (detailed) documentation of file and class members
962 alphabetically by member name. If set to \c NO, the members will appear in
967 <option type='bool' id='SORT_BRIEF_DOCS' defval='0'>
970 If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the
971 brief descriptions of file, namespace and class members alphabetically
972 by member name. If set to \c NO, the members will appear in
973 declaration order. Note that this will also influence the order of the
974 classes in the class list.
978 <option type='bool' id='SORT_MEMBERS_CTORS_1ST' defval='0'>
981 If the \c SORT_MEMBERS_CTORS_1ST tag is set to \c YES then doxygen
982 will sort the (brief and detailed) documentation of class members so that
983 constructors and destructors are listed first. If set to \c NO
984 the constructors will appear in the respective orders defined by
985 \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" and \ref cfg_sort_member_docs "SORT_MEMBER_DOCS".
986 \note If \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" is set to \c NO this option is ignored for
987 sorting brief member documentation.
988 \note If \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" is set to \c NO this option is ignored for
989 sorting detailed member documentation.
993 <option type='bool' id='SORT_GROUP_NAMES' defval='0'>
996 If the \c SORT_GROUP_NAMES tag is set to \c YES then doxygen will sort the
997 hierarchy of group names into alphabetical order. If set to \c NO
998 the group names will appear in their defined order.
1002 <option type='bool' id='SORT_BY_SCOPE_NAME' defval='0'>
1005 If the \c SORT_BY_SCOPE_NAME tag is set to \c YES, the class list will be
1006 sorted by fully-qualified names, including namespaces. If set to
1007 \c NO, the class list will be sorted only by class name,
1008 not including the namespace part.
1009 \note This option is not very useful if \ref cfg_hide_scope_names "HIDE_SCOPE_NAMES" is set to \c YES.
1010 \note This option applies only to the class list, not to the
1015 <option type='bool' id='STRICT_PROTO_MATCHING' defval='0'>
1018 If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to
1019 do proper type resolution of all parameters of a function it will reject a
1020 match between the prototype and the implementation of a member function even
1021 if there is only one candidate or it is obvious which candidate to choose
1022 by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen
1023 will still accept a match between prototype and implementation in such cases.
1027 <option type='bool' id='GENERATE_TODOLIST' defval='1'>
1030 The \c GENERATE_TODOLIST tag can be used to enable (\c YES) or
1031 disable (\c NO) the todo list. This list is created by
1032 putting \ref cmdtodo "\\todo" commands in the documentation.
1036 <option type='bool' id='GENERATE_TESTLIST' defval='1'>
1039 The \c GENERATE_TESTLIST tag can be used to enable (\c YES) or
1040 disable (\c NO) the test list. This list is created by
1041 putting \ref cmdtest "\\test" commands in the documentation.
1045 <option type='bool' id='GENERATE_BUGLIST' defval='1'>
1048 The \c GENERATE_BUGLIST tag can be used to enable (\c YES) or
1049 disable (\c NO) the bug list. This list is created by
1050 putting \ref cmdbug "\\bug" commands in the documentation.
1054 <option type='bool' id='GENERATE_DEPRECATEDLIST' defval='1'>
1057 The \c GENERATE_DEPRECATEDLIST tag can be used to enable (\c YES) or
1058 disable (\c NO) the deprecated list. This list is created by
1059 putting \ref cmddeprecated "\\deprecated"
1060 commands in the documentation.
1064 <option type='list' id='ENABLED_SECTIONS' format='string'>
1067 The \c ENABLED_SECTIONS tag can be used to enable conditional
1068 documentation sections, marked by \ref cmdif "\\if" \<section_label\> ...
1069 \ref cmdendif "\\endif" and \ref cmdcond "\\cond" \<section_label\> ...
1070 \ref cmdendcond "\\endcond" blocks.
1074 <option type='int' id='MAX_INITIALIZER_LINES' minval='0' maxval='10000' defval='30'>
1077 The \c MAX_INITIALIZER_LINES tag determines the maximum number of lines
1078 that the initial value of a variable or macro / define can have for it to appear in
1079 the documentation. If the initializer
1080 consists of more lines than specified here it will be hidden. Use a value
1081 of 0 to hide initializers completely. The appearance of the value of
1082 individual variables and macros / defines can be controlled using \ref cmdshowinitializer "\\showinitializer"
1083 or \ref cmdhideinitializer "\\hideinitializer" command in the documentation regardless of this setting.
1087 <option type='bool' id='SHOW_USED_FILES' defval='1'>
1090 Set the \c SHOW_USED_FILES tag to \c NO to disable the list of files generated
1091 at the bottom of the documentation of classes and structs. If set to \c YES, the
1092 list will mention the files that were used to generate the documentation.
1096 <option type='bool' id='SHOW_FILES' defval='1'>
1099 Set the \c SHOW_FILES tag to \c NO to disable the generation of the Files page.
1100 This will remove the Files entry from the Quick Index and from the
1101 Folder Tree View (if specified).
1105 <option type='bool' id='SHOW_NAMESPACES' defval='1'>
1108 Set the \c SHOW_NAMESPACES tag to \c NO to disable the generation of the
1109 Namespaces page. This will remove the Namespaces entry from the Quick Index
1110 and from the Folder Tree View (if specified).
1114 <option type='string' id='FILE_VERSION_FILTER' format='file' defval=''>
1117 The \c FILE_VERSION_FILTER tag can be used to specify a program or script that
1118 doxygen should invoke to get the current version for each file (typically from the
1119 version control system). Doxygen will invoke the program by executing (via
1120 <code>popen()</code>) the command <code>command input-file</code>, where \c command is
1121 the value of the \c FILE_VERSION_FILTER tag, and \c input-file is the name
1122 of an input file provided by doxygen.
1123 Whatever the program writes to standard output is used as the file version.
1126 <docs doxywizard='0' doxyfile='0'>
1128 Example of using a shell script as a filter for Unix:
1130 FILE_VERSION_FILTER = "/bin/sh versionfilter.sh"
1133 Example shell script for CVS:
1136 cvs status $1 | sed -n 's/^[ \]*Working revision:[ \t]*\([0-9][0-9\.]*\).*/\1/p'
1139 Example shell script for Subversion:
1142 svn stat -v $1 | sed -n 's/^[ A-Z?\*|!]\{1,15\}/r/;s/ \{1,15\}/\/r/;s/ .*//p'
1145 Example filter for ClearCase:
1147 FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
1151 <docs documentation='0'>
1153 For an example see the documentation.
1157 <option type='string' id='LAYOUT_FILE' format='file' defval=''>
1160 The \c LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
1161 doxygen. The layout file controls the global structure of the generated output files
1162 in an output format independent way. To create the layout file that represents
1163 doxygen's defaults, run doxygen with the `-l` option. You can optionally specify a
1164 file name after the option, if omitted \c DoxygenLayout.xml will be used as the name
1166 <br>Note that if you run doxygen from a directory containing
1167 a file called \c DoxygenLayout.xml, doxygen will parse it automatically even if
1168 the \c LAYOUT_FILE tag is left empty.
1172 <option type='list' id='CITE_BIB_FILES' format='file'>
1175 The \c CITE_BIB_FILES tag can be used to specify one or more \c bib files
1176 containing the reference definitions. This must be a list of <code>.bib</code> files. The
1177 <code>.bib</code> extension is automatically appended if omitted. This requires the
1178 \c bibtex tool to be installed. See also https://en.wikipedia.org/wiki/BibTeX for
1179 more info. For \f$\mbox{\LaTeX}\f$ the style of the bibliography can be controlled
1180 using \ref cfg_latex_bib_style "LATEX_BIB_STYLE".
1181 To use this feature you need \c bibtex and \c perl available in the search path.
1182 See also \ref cmdcite "\\cite" for info how to create references.
1187 <group name='Messages' docs='Configuration options related to warning and progress messages'>
1188 <option type='bool' id='QUIET' defval='0'>
1191 The \c QUIET tag can be used to turn on/off the messages that are generated
1192 to standard output by doxygen. If \c QUIET is set to \c YES this implies that the messages are off.
1196 <option type='bool' id='WARNINGS' defval='1'>
1199 The \c WARNINGS tag can be used to turn on/off the warning messages that are
1200 generated to standard error (\c stderr) by doxygen. If \c WARNINGS is set to
1201 \c YES this implies that the warnings are on.
1203 \b Tip: Turn warnings on while writing the documentation.
1207 <option type='bool' id='WARN_IF_UNDOCUMENTED' defval='1'>
1210 If the \c WARN_IF_UNDOCUMENTED tag is set to \c YES then doxygen will generate warnings
1211 for undocumented members. If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will
1212 automatically be disabled.
1216 <option type='bool' id='WARN_IF_DOC_ERROR' defval='1'>
1219 If the \c WARN_IF_DOC_ERROR tag is set to \c YES, doxygen will generate warnings for
1220 potential errors in the documentation, such as not documenting some
1221 parameters in a documented function, or documenting parameters that
1222 don't exist or using markup commands wrongly.
1226 <option type='bool' id='WARN_NO_PARAMDOC' defval='0'>
1229 This \c WARN_NO_PARAMDOC option can be enabled to get warnings for
1230 functions that are documented, but have no documentation for their parameters
1231 or return value. If set to \c NO, doxygen will only warn about
1232 wrong or incomplete parameter documentation, but not about the absence of
1237 <option type='bool' id='WARN_AS_ERROR' defval='0'>
1240 If the \c WARN_AS_ERROR tag is set to \c YES then doxygen will immediately stop
1241 when a warning is encountered.
1245 <option type='string' id='WARN_FORMAT' format='string' defval='$file:$line: $text'>
1248 The \c WARN_FORMAT tag determines the format of the warning messages that
1249 doxygen can produce. The string should contain the <code>\$file</code>,
1250 <code>\$line</code>, and <code>\$text</code>
1251 tags, which will be replaced by the file and line number from which the
1252 warning originated and the warning text.
1253 Optionally the format may contain
1254 <code>$version</code>, which will be replaced by the version of the file (if it could
1255 be obtained via \ref cfg_file_version_filter "FILE_VERSION_FILTER")
1259 <option type='string' id='WARN_LOGFILE' format='file' defval=''>
1262 The \c WARN_LOGFILE tag can be used to specify a file to which warning
1263 and error messages should be written. If left blank the output is written
1264 to standard error (`stderr`).
1269 <group name='Input' docs='Configuration options related to the input files'>
1270 <option type='list' id='INPUT' format='filedir'>
1273 The \c INPUT tag is used to specify the files and/or directories that contain
1274 documented source files. You may enter file names like
1275 \c myfile.cpp or directories like \c /usr/src/myproject.
1276 Separate the files or directories with spaces. See also
1277 \ref cfg_file_patterns "FILE_PATTERNS" and
1278 \ref cfg_extension_mapping "EXTENSION_MAPPING"
1280 \note If this tag is empty the current directory is searched.
1285 <option type='string' id='INPUT_ENCODING' format='string' defval='UTF-8'>
1288 This tag can be used to specify the character encoding of the source files that
1289 doxygen parses. Internally doxygen uses the UTF-8 encoding.
1290 Doxygen uses `libiconv` (or the `iconv` built into `libc`) for the transcoding.
1291 See <a href="https://www.gnu.org/software/libiconv/">the libiconv documentation</a> for
1292 the list of possible encodings.
1296 <option type='list' id='FILE_PATTERNS' format='string'>
1299 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
1300 \c FILE_PATTERNS tag to specify one or more wildcard patterns
1301 (like `*.cpp` and `*.h`) to filter out the source-files
1302 in the directories.<br>
1303 Note that for custom extensions or not directly supported extensions you also
1304 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1305 otherwise the files are not read by doxygen.<br>
1306 If left blank the following patterns are tested:
1310 <value name='*.cc'/>
1311 <value name='*.cxx'/>
1312 <value name='*.cpp'/>
1313 <value name='*.c++'/>
1314 <value name='*.java'/>
1315 <value name='*.ii'/>
1316 <value name='*.ixx'/>
1317 <value name='*.ipp'/>
1318 <value name='*.i++'/>
1319 <value name='*.inl'/>
1320 <value name='*.idl'/>
1321 <value name='*.ddl'/>
1322 <value name='*.odl'/>
1324 <value name='*.hh'/>
1325 <value name='*.hxx'/>
1326 <value name='*.hpp'/>
1327 <value name='*.h++'/>
1328 <value name='*.cs'/>
1330 <value name='*.php'/>
1331 <value name='*.php4'/>
1332 <value name='*.php5'/>
1333 <value name='*.phtml'/>
1334 <value name='*.inc'/>
1336 <value name='*.markdown'/>
1337 <value name='*.md'/>
1338 <value name='*.mm'/>
1339 <value name='*.dox'/>
1340 <value name='*.py'/>
1341 <value name='*.pyw'/>
1342 <value name='*.f90'/>
1343 <value name='*.f95'/>
1344 <value name='*.f03'/>
1345 <value name='*.f08'/>
1347 <value name='*.for'/>
1348 <value name='*.tcl'/>
1349 <value name='*.vhd'/>
1350 <value name='*.vhdl'/>
1351 <value name='*.ucf'/>
1352 <value name='*.qsf'/>
1354 <option type='bool' id='RECURSIVE' defval='0'>
1357 The \c RECURSIVE tag can be used to specify whether or not subdirectories
1358 should be searched for input files as well.
1362 <option type='list' id='EXCLUDE' format='filedir'>
1365 The \c EXCLUDE tag can be used to specify files and/or directories that should be
1366 excluded from the \ref cfg_input "INPUT" source files. This way you can easily exclude a
1367 subdirectory from a directory tree whose root is specified with the \ref cfg_input "INPUT" tag.
1368 <br>Note that relative paths are relative to the directory from which doxygen is run.
1372 <option type='bool' id='EXCLUDE_SYMLINKS' defval='0'>
1375 The \c EXCLUDE_SYMLINKS tag can be used to select whether or not files or directories
1376 that are symbolic links (a Unix file system feature) are excluded from the input.
1380 <option type='list' id='EXCLUDE_PATTERNS' format='string'>
1383 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
1384 \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
1385 certain files from those directories.
1386 <br>Note that the wildcards are matched
1387 against the file with absolute path, so to exclude all test directories
1388 for example use the pattern `*``/test/``*`
1392 <option type='list' id='EXCLUDE_SYMBOLS' format='string'>
1395 The \c EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
1396 (namespaces, classes, functions, etc.) that should be excluded from the
1397 output. The symbol name can be a fully qualified name, a word, or if the
1398 wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`,
1399 `AClass::ANamespace`, `ANamespace::*Test`
1400 <br>Note that the wildcards are matched against the file with absolute path,
1401 so to exclude all test directories use the pattern
1406 <option type='list' id='EXAMPLE_PATH' format='filedir'>
1409 The \c EXAMPLE_PATH tag can be used to specify one or more files or
1410 directories that contain example code fragments that are included (see
1411 the \ref cmdinclude "\\include" command).
1415 <option type='list' id='EXAMPLE_PATTERNS' format='string'>
1418 If the value of the \ref cfg_example_path "EXAMPLE_PATH" tag contains directories,
1420 \c EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like `*.cpp`
1421 and `*.h`) to filter out the source-files in the directories. If left
1422 blank all files are included.
1425 <value name='*' show_docu='NO'/>
1427 <option type='bool' id='EXAMPLE_RECURSIVE' defval='0'>
1430 If the \c EXAMPLE_RECURSIVE tag is set to \c YES then subdirectories will be
1431 searched for input files to be used with the \ref cmdinclude "\\include" or
1432 \ref cmddontinclude "\\dontinclude"
1433 commands irrespective of the value of the \ref cfg_recursive "RECURSIVE" tag.
1437 <option type='list' id='IMAGE_PATH' format='filedir'>
1440 The \c IMAGE_PATH tag can be used to specify one or more files or
1441 directories that contain images that are to be included in the
1442 documentation (see the \ref cmdimage "\\image" command).
1446 <option type='string' id='INPUT_FILTER' format='file' defval=''>
1449 The \c INPUT_FILTER tag can be used to specify a program that doxygen should
1450 invoke to filter for each input file. Doxygen will invoke the filter program
1451 by executing (via <code>popen()</code>) the command:
1453 <code>\<filter\> \<input-file\></code>
1455 where <code>\<filter\></code>
1456 is the value of the \c INPUT_FILTER tag, and <code>\<input-file\></code> is the name of an
1457 input file. Doxygen will then use the output that the filter program writes
1458 to standard output. If \ref cfg_filter_patterns "FILTER_PATTERNS" is specified, this tag will be ignored.
1459 <br>Note that the filter must not add or remove lines; it is applied before the
1460 code is scanned, but not when the output code is generated. If lines are added
1461 or removed, the anchors will not be placed correctly.
1462 <br>Note that for custom extensions or not directly supported extensions you also
1463 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1464 otherwise the files are not properly processed by doxygen.<br>
1469 <option type='list' id='FILTER_PATTERNS' format='string'>
1472 The \c FILTER_PATTERNS tag can be used to specify filters on a per file pattern
1473 basis. Doxygen will compare the file name with each pattern and apply the
1474 filter if there is a match. The filters are a list of the form:
1475 pattern=filter (like `*.cpp=my_cpp_filter`). See \ref cfg_input_filter "INPUT_FILTER" for further
1476 information on how filters are used. If the \c FILTER_PATTERNS tag is empty or if
1477 none of the patterns match the file name, \ref cfg_input_filter "INPUT_FILTER" is
1479 <br>Note that for custom extensions or not directly supported extensions you also
1480 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1481 otherwise the files are not properly processed by doxygen.<br>
1485 <option type='bool' id='FILTER_SOURCE_FILES' defval='0'>
1488 If the \c FILTER_SOURCE_FILES tag is set to \c YES, the input filter (if set using
1489 \ref cfg_input_filter "INPUT_FILTER") will also be used to filter the input
1490 files that are used for producing the source files to browse
1491 (i.e. when \ref cfg_source_browser "SOURCE_BROWSER" is set to \c YES).
1495 <option type='list' id='FILTER_SOURCE_PATTERNS' format='string' depends='FILTER_SOURCE_FILES'>
1498 The \c FILTER_SOURCE_PATTERNS tag can be used to specify source filters per
1499 file pattern. A pattern will override the setting
1500 for \ref cfg_filter_patterns "FILTER_PATTERN" (if any)
1501 and it is also possible to disable source filtering for a specific pattern
1502 using `*.ext=` (so without naming a filter).
1506 <option type='string' id='USE_MDFILE_AS_MAINPAGE' format='string' defval=''>
1509 If the \c USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
1510 is part of the input, its contents will be placed on the main page (`index.html`).
1511 This can be useful if you have a project on for instance GitHub and want to reuse
1512 the introduction page also for the doxygen output.
1517 <group name='Source_Browser' docs='Configuration options related to source browsing'>
1518 <option type='bool' id='SOURCE_BROWSER' defval='0'>
1521 If the \c SOURCE_BROWSER tag is set to \c YES then a list of source files will
1522 be generated. Documented entities will be cross-referenced with these sources.
1523 <br>Note: To get rid of all source code in the generated output, make sure that also
1524 \ref cfg_verbatim_headers "VERBATIM_HEADERS" is set to \c NO.
1528 <option type='bool' id='INLINE_SOURCES' defval='0'>
1531 Setting the \c INLINE_SOURCES tag to \c YES will include the body
1532 of functions, classes and enums directly into the documentation.
1536 <option type='bool' id='STRIP_CODE_COMMENTS' defval='1'>
1539 Setting the \c STRIP_CODE_COMMENTS tag to \c YES will instruct
1540 doxygen to hide any special comment blocks from generated source code
1541 fragments. Normal C, C++ and Fortran comments will always remain visible.
1545 <option type='bool' id='REFERENCED_BY_RELATION' defval='0'>
1548 If the \c REFERENCED_BY_RELATION tag is set to \c YES
1549 then for each documented function all documented
1550 functions referencing it will be listed.
1554 <option type='bool' id='REFERENCES_RELATION' defval='0'>
1557 If the \c REFERENCES_RELATION tag is set to \c YES
1558 then for each documented function all documented entities
1559 called/used by that function will be listed.
1563 <option type='bool' id='REFERENCES_LINK_SOURCE' defval='1'>
1566 If the \c REFERENCES_LINK_SOURCE tag is set to \c YES
1567 and \ref cfg_source_browser "SOURCE_BROWSER" tag is set to \c YES then the hyperlinks from
1568 functions in \ref cfg_references_relation "REFERENCES_RELATION" and
1569 \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION" lists will
1570 link to the source code. Otherwise they will link to the documentation.
1574 <option type='bool' id='SOURCE_TOOLTIPS' defval='1' depends='SOURCE_BROWSER'>
1577 If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
1578 source code will show a tooltip with additional information such as prototype,
1579 brief description and links to the definition and documentation. Since this will
1580 make the HTML file larger and loading of large files a bit slower, you can opt
1581 to disable this feature.
1585 <option type='bool' id='USE_HTAGS' defval='0' depends='SOURCE_BROWSER'>
1588 If the \c USE_HTAGS tag is set to \c YES then the references to source code
1589 will point to the HTML generated by the \c htags(1) tool instead of doxygen
1590 built-in source browser. The \c htags tool is part of GNU's global source
1591 tagging system (see https://www.gnu.org/software/global/global.html). You
1592 will need version 4.8.6 or higher.
1594 To use it do the following:
1595 -# Install the latest version of \c global
1596 -# Enable \ref cfg_source_browser "SOURCE_BROWSER" and \c USE_HTAGS in the config file
1597 -# Make sure the \ref cfg_input "INPUT" points to the root of the source tree
1598 -# Run \c doxygen as normal
1600 Doxygen will invoke \c htags (and that will in turn invoke \c gtags), so these tools
1601 must be available from the command line (i.e. in the search path).
1603 The result: instead of the source browser generated by doxygen, the links to
1604 source code will now point to the output of \c htags.
1609 <option type='bool' id='VERBATIM_HEADERS' defval='1'>
1612 If the \c VERBATIM_HEADERS tag is set the \c YES then doxygen
1613 will generate a verbatim copy of the header file for each class for
1614 which an include is specified. Set to \c NO to disable this.
1615 \sa Section \ref cmdclass "\\class".
1619 <option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' defval='0'>
1622 If the \c CLANG_ASSISTED_PARSING tag is set to \c YES then doxygen will use the
1623 <a href="http://clang.llvm.org/">clang parser</a> for more accurate parsing
1624 at the cost of reduced performance. This can be particularly helpful with
1625 template rich C++ code for which doxygen's built-in parser lacks the
1626 necessary type information.
1628 @note The availability of this option depends on whether or not doxygen
1629 was generated with the `-Duse-libclang=ON` option for CMake.
1633 <option type='list' id='CLANG_OPTIONS' format='string' setting='USE_LIBCLANG' depends='CLANG_ASSISTED_PARSING'>
1636 If clang assisted parsing is enabled you can provide the compiler with command
1637 line options that you would normally use when invoking the compiler. Note that
1638 the include paths will already be set by doxygen for the files and directories
1639 specified with \ref cfg_input "INPUT" and \ref cfg_include_path "INCLUDE_PATH".
1643 <option type='string' id='CLANG_COMPILATION_DATABASE_PATH' setting='USE_LIBCLANG' defval='0'>
1646 If clang assisted parsing is enabled you can provide the clang parser with the
1647 path to the <a href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">
1648 compilation database</a> used when the files were built. This is equivalent to
1649 specifying the "-p" option to a clang tool, such as clang-check. These options
1650 will then be passed to the parser.
1652 @note The availability of this option depends on whether or not doxygen
1653 was generated with the `-Duse-libclang=ON` option for CMake.
1658 <group name='Index' docs='Configuration options related to the alphabetical class index'>
1659 <option type='bool' id='ALPHABETICAL_INDEX' defval='1'>
1662 If the \c ALPHABETICAL_INDEX tag is set to \c YES, an alphabetical index
1663 of all compounds will be generated. Enable this if the project contains
1664 a lot of classes, structs, unions or interfaces.
1668 <option type='int' id='COLS_IN_ALPHA_INDEX' minval='1' maxval='20' defval='5' depends='ALPHABETICAL_INDEX'>
1671 The \c COLS_IN_ALPHA_INDEX tag can be
1672 used to specify the number of columns in which the alphabetical index list will be split.
1676 <option type='list' id='IGNORE_PREFIX' format='string' depends='ALPHABETICAL_INDEX'>
1679 In case all classes in a project start with a common prefix, all classes will
1680 be put under the same header in the alphabetical index.
1681 The \c IGNORE_PREFIX tag can be used to specify a prefix
1682 (or a list of prefixes) that should be ignored while generating the index headers.
1687 <group name='HTML' docs='Configuration options related to the HTML output'>
1688 <option type='bool' id='GENERATE_HTML' defval='1'>
1691 If the \c GENERATE_HTML tag is set to \c YES, doxygen will
1692 generate HTML output
1696 <option type='string' id='HTML_OUTPUT' format='dir' defval='html' depends='GENERATE_HTML'>
1699 The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put.
1700 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
1705 <option type='string' id='HTML_FILE_EXTENSION' format='string' defval='.html' depends='GENERATE_HTML'>
1708 The \c HTML_FILE_EXTENSION tag can be used to specify the file extension for
1709 each generated HTML page (for example: <code>.htm, .php, .asp</code>).
1713 <option type='string' id='HTML_HEADER' format='file' defval='' depends='GENERATE_HTML'>
1716 The \c HTML_HEADER tag can be used to specify a user-defined HTML
1717 header file for each generated HTML page.
1718 If the tag is left blank doxygen will generate a
1721 To get valid HTML the header file that
1722 includes any scripts and style sheets that doxygen
1723 needs, which is dependent on the configuration options used (e.g. the
1724 setting \ref cfg_generate_treeview "GENERATE_TREEVIEW").
1725 It is highly recommended to start with a default header using
1727 doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFile
1729 and then modify the file \c new_header.html.
1731 See also section \ref doxygen_usage for information on how to generate
1732 the default header that doxygen normally uses.
1734 @note The header is subject to change so you typically
1735 have to regenerate the default header when upgrading to a newer version of
1739 <docs doxywizard='0' doxyfile='0'>
1741 The following markers have a special meaning inside the header and footer:
1743 <dt><code>\$title</code><dd>will be replaced with the title of the page.
1744 <dt><code>\$datetime</code><dd>will be replaced with current the date and time.
1745 <dt><code>\$date</code><dd>will be replaced with the current date.
1746 <dt><code>\$year</code><dd>will be replaces with the current year.
1747 <dt><code>\$doxygenversion</code><dd>will be replaced with the version of doxygen
1748 <dt><code>\$projectname</code><dd>will be replaced with the name of
1749 the project (see \ref cfg_project_name "PROJECT_NAME")
1750 <dt><code>\$projectnumber</code><dd>will be replaced with the project number
1751 (see \ref cfg_project_number "PROJECT_NUMBER")
1752 <dt><code>\$projectbrief</code><dd>will be replaced with the project brief
1753 description (see \ref cfg_project_brief "PROJECT_BRIEF")
1754 <dt><code>\$projectlogo</code><dd>will be replaced with the project logo
1755 (see \ref cfg_project_logo "PROJECT_LOGO")
1756 <dt><code>\$treeview</code><dd>will be replaced with links to
1757 the javascript and style sheets needed for the navigation tree
1758 (or an empty string when \ref cfg_generate_treeview "GENERATE_TREEVIEW"
1760 <dt><code>\$search</code><dd>will be replaced with a links to
1761 the javascript and style sheets needed for the search engine
1762 (or an empty string when \ref cfg_searchengine "SEARCHENGINE"
1764 <dt><code>\$mathjax</code><dd>will be replaced with a links to
1765 the javascript and style sheets needed for the MathJax feature
1766 (or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled).
1767 <dt><code>\$relpath^</code><dd>
1768 If \ref cfg_create_subdirs "CREATE_SUBDIRS" is enabled, the command <code>\$relpath^</code> can be
1769 used to produce a relative path to the root of the HTML output directory,
1770 e.g. use <code>\$relpath^doxygen.css</code>, to refer to the standard style sheet.
1773 To cope with differences in the layout of the header and footer that depend on
1774 configuration settings, the header can also contain special blocks that
1775 will be copied to the output or skipped depending on the configuration.
1776 Such blocks have the following form:
1778 <!--BEGIN BLOCKNAME-->
1779 Some context copied when condition BLOCKNAME holds
1780 <!--END BLOCKNAME-->
1781 <!--BEGIN !BLOCKNAME-->
1782 Some context copied when condition BLOCKNAME does not hold
1783 <!--END !BLOCKNAME-->
1785 The following block names are supported:
1787 <dt><code>DISABLE_INDEX</code><dd>Content within this block is copied to the output
1788 when the \ref cfg_disable_index "DISABLE_INDEX" option is enabled (so when the index is disabled).
1789 <dt><code>GENERATE_TREEVIEW</code><dd>Content within this block is copied to the output
1790 when the \ref cfg_generate_treeview "GENERATE_TREEVIEW" option is enabled.
1791 <dt><code>SEARCHENGINE</code><dd>Content within this block is copied to the output
1792 when the \ref cfg_searchengine "SEARCHENGINE" option is enabled.
1793 <dt><code>PROJECT_NAME</code><dd>Content within the block is copied to the output
1794 when the \ref cfg_project_name "PROJECT_NAME" option is not empty.
1795 <dt><code>PROJECT_NUMBER</code><dd>Content within the block is copied to the output
1796 when the \ref cfg_project_number "PROJECT_NUMBER" option is not empty.
1797 <dt><code>PROJECT_BRIEF</code><dd>Content within the block is copied to the output
1798 when the \ref cfg_project_brief "PROJECT_BRIEF" option is not empty.
1799 <dt><code>PROJECT_LOGO</code><dd>Content within the block is copied to the output
1800 when the \ref cfg_project_logo "PROJECT_LOGO" option is not empty.
1801 <dt><code>TITLEAREA</code><dd>Content within this block is copied to the output
1802 when a title is visible at the top of each page. This is the case
1803 if either \ref cfg_project_name "PROJECT_NAME",
1804 \ref cfg_project_brief "PROJECT_BRIEF", \ref cfg_project_logo "PROJECT_LOGO"
1805 is filled in or if both \ref cfg_disable_index "DISABLE_INDEX" and
1806 \ref cfg_searchengine "SEARCHENGINE" are enabled.
1810 <docs documentation='0'>
1812 For a description of the possible markers and block names see the documentation.
1817 <option type='string' id='HTML_FOOTER' format='file' defval='' depends='GENERATE_HTML'>
1820 The \c HTML_FOOTER tag can be used to specify a user-defined HTML footer for
1821 each generated HTML page.
1822 If the tag is left blank doxygen will generate a standard footer.
1824 See \ref cfg_html_header "HTML_HEADER" for more information on
1825 how to generate a default footer and what special commands can be
1826 used inside the footer.
1828 See also section \ref doxygen_usage for information on how to generate
1829 the default footer that doxygen normally uses.
1833 <option type='string' id='HTML_STYLESHEET' format='file' defval='' depends='GENERATE_HTML'>
1836 The \c HTML_STYLESHEET tag can be used to specify a user-defined cascading
1837 style sheet that is used by each HTML page. It can be used to
1838 fine-tune the look of the HTML output. If left blank doxygen
1839 will generate a default style sheet.
1841 See also section \ref doxygen_usage for information on how to generate
1842 the style sheet that doxygen normally uses.
1844 \note It is recommended to use
1845 \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead of this tag,
1846 as it is more robust and
1847 this tag (<code>HTML_STYLESHEET</code>) will in the future become obsolete.
1851 <option type='list' id='HTML_EXTRA_STYLESHEET' format='file' defval='' depends='GENERATE_HTML'>
1854 The \c HTML_EXTRA_STYLESHEET tag can be used to specify additional
1855 user-defined cascading style sheets that are included after the standard
1856 style sheets created by doxygen. Using this option one can overrule
1857 certain style aspects. This is preferred over using \ref cfg_html_stylesheet "HTML_STYLESHEET"
1858 since it does not replace the standard style sheet and is therefore more
1859 robust against future updates. Doxygen will copy the style sheet files to
1860 the output directory.
1861 \note The order of the extra style sheet files is of importance (e.g. the last
1862 style sheet in the list overrules the setting of the previous ones in the list).
1865 <docs doxywizard='0' doxyfile='0'>
1867 Here is an example style sheet that gives the contents area a fixed width:
1870 background-color: #CCC;
1876 margin-bottom: 10px;
1881 background-color: white;
1886 background-color: white;
1894 background-color: #AAA;
1899 <docs documentation='0'>
1901 For an example see the documentation.
1905 <option type='list' id='HTML_EXTRA_FILES' format='file' depends='GENERATE_HTML'>
1908 The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or
1909 other source files which should be copied to the HTML output directory. Note
1910 that these files will be copied to the base HTML output directory. Use the
1911 <code>$relpath^</code> marker in the \ref cfg_html_header "HTML_HEADER" and/or
1912 \ref cfg_html_footer "HTML_FOOTER" files to load these
1913 files. In the \ref cfg_html_stylesheet "HTML_STYLESHEET" file, use the file name only. Also note that
1914 the files will be copied as-is; there are no commands or markers available.
1918 <option type='int' id='HTML_COLORSTYLE_HUE' minval='0' maxval='359' defval='220' depends='GENERATE_HTML'>
1921 The \c HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
1922 Doxygen will adjust the colors in the style sheet and background images
1923 according to this color. Hue is specified as an angle on a colorwheel,
1924 see https://en.wikipedia.org/wiki/Hue for more information.
1925 For instance the value 0 represents red, 60 is yellow, 120 is green,
1926 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
1930 <option type='int' id='HTML_COLORSTYLE_SAT' minval='0' maxval='255' defval='100' depends='GENERATE_HTML'>
1933 The \c HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
1934 the colors in the HTML output. For a value of 0 the output will use
1935 grayscales only. A value of 255 will produce the most vivid colors.
1939 <option type='int' id='HTML_COLORSTYLE_GAMMA' minval='40' maxval='240' defval='80' depends='GENERATE_HTML'>
1942 The \c HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
1943 the luminance component of the colors in the HTML output. Values below
1944 100 gradually make the output lighter, whereas values above 100 make
1945 the output darker. The value divided by 100 is the actual gamma applied,
1946 so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
1947 and 100 does not change the gamma.
1951 <option type='bool' id='HTML_TIMESTAMP' defval='0' depends='GENERATE_HTML'>
1954 If the \c HTML_TIMESTAMP tag is set to \c YES then the footer of
1955 each generated HTML page will contain the date and time when the page
1956 was generated. Setting this to \c YES can help to show when doxygen was last run
1957 and thus if the documentation is up to date.
1961 <option type='bool' id='HTML_DYNAMIC_MENUS' defval='1' depends='GENERATE_HTML'>
1964 If the \c HTML_DYNAMIC_MENUS tag is set to \c YES then the generated HTML
1965 documentation will contain a main index with vertical navigation menus that
1966 are dynamically created via Javascript. If disabled, the navigation index will consists of
1967 multiple levels of tabs that are statically embedded in every HTML page.
1968 Disable this option to support browsers that do not have Javascript, like
1969 the Qt help browser.
1973 <option type='bool' id='HTML_DYNAMIC_SECTIONS' defval='0' depends='GENERATE_HTML'>
1976 If the \c HTML_DYNAMIC_SECTIONS tag is set to \c YES then the generated HTML
1977 documentation will contain sections that can be hidden and shown after the
1982 <option type='int' id='HTML_INDEX_NUM_ENTRIES' minval='0' maxval='9999' defval='100' depends='GENERATE_HTML'>
1985 With \c HTML_INDEX_NUM_ENTRIES one can control the preferred number of
1986 entries shown in the various tree structured indices initially; the user
1987 can expand and collapse entries dynamically later on. Doxygen will expand
1988 the tree to such a level that at most the specified number of entries are
1989 visible (unless a fully collapsed tree already exceeds this amount).
1990 So setting the number of entries 1 will produce a full collapsed tree by
1991 default. 0 is a special value representing an infinite number of entries
1992 and will result in a full expanded tree by default.
1996 <option type='bool' id='GENERATE_DOCSET' defval='0' depends='GENERATE_HTML'>
1999 If the \c GENERATE_DOCSET tag is set to \c YES, additional index files
2000 will be generated that can be used as input for
2001 <a href="https://developer.apple.com/tools/xcode/">Apple's Xcode 3
2002 integrated development environment</a>, introduced with OSX 10.5 (Leopard).
2003 To create a documentation set, doxygen will generate a Makefile in the
2004 HTML output directory. Running \c make will produce the docset in that
2005 directory and running <code>make install</code> will install the docset in
2006 <code>~/Library/Developer/Shared/Documentation/DocSets</code>
2007 so that Xcode will find it at startup. See
2008 https://developer.apple.com/tools/creatingdocsetswithdoxygen.html for
2013 <option type='string' id='DOCSET_FEEDNAME' format='string' defval='Doxygen generated docs' depends='GENERATE_DOCSET'>
2016 This tag determines the name of the docset
2017 feed. A documentation feed provides an umbrella under which multiple
2018 documentation sets from a single provider (such as a company or product suite)
2023 <option type='string' id='DOCSET_BUNDLE_ID' format='string' defval='org.doxygen.Project' depends='GENERATE_DOCSET'>
2026 This tag specifies a string that
2027 should uniquely identify the documentation set bundle. This should be a
2028 reverse domain-name style string, e.g. <code>com.mycompany.MyDocSet</code>.
2029 Doxygen will append <code>.docset</code> to the name.
2033 <option type='string' id='DOCSET_PUBLISHER_ID' format='string' defval='org.doxygen.Publisher' depends='GENERATE_DOCSET'>
2036 The \c DOCSET_PUBLISHER_ID
2037 tag specifies a string that should uniquely identify
2038 the documentation publisher. This should be a reverse domain-name style
2039 string, e.g. <code>com.mycompany.MyDocSet.documentation</code>.
2043 <option type='string' id='DOCSET_PUBLISHER_NAME' format='string' defval='Publisher' depends='GENERATE_DOCSET'>
2046 The \c DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
2050 <option type='bool' id='GENERATE_HTMLHELP' defval='0' depends='GENERATE_HTML'>
2053 If the \c GENERATE_HTMLHELP tag is set to \c YES then
2054 doxygen generates three additional HTML index files:
2055 \c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
2056 project file that can be read by
2057 <a href="http://www.microsoft.com/en-us/download/details.aspx?id=21138">
2058 Microsoft's HTML Help Workshop</a>
2061 The HTML Help Workshop contains a compiler that can convert all HTML output
2062 generated by doxygen into a single compiled HTML file (`.chm`). Compiled
2063 HTML files are now used as the Windows 98 help format, and will replace
2064 the old Windows help format (`.hlp`) on all Windows platforms in the future.
2065 Compressed HTML files also contain an index, a table of contents,
2066 and you can search for words in the documentation.
2067 The HTML workshop also contains a viewer for compressed HTML files.
2071 <option type='string' id='CHM_FILE' format='file' defval='' depends='GENERATE_HTMLHELP'>
2074 The \c CHM_FILE tag can
2075 be used to specify the file name of the resulting `.chm` file. You
2076 can add a path in front of the file if the result should not be
2077 written to the html output directory.
2081 <option type='string' id='HHC_LOCATION' format='file' defval='' depends='GENERATE_HTMLHELP' abspath='1'>
2084 The \c HHC_LOCATION tag can
2085 be used to specify the location (absolute path including file name) of
2086 the HTML help compiler (\c hhc.exe). If non-empty, doxygen will try to run
2087 the HTML help compiler on the generated \c index.hhp.
2091 <option type='bool' id='GENERATE_CHI' defval='0' depends='GENERATE_HTMLHELP'>
2094 The \c GENERATE_CHI flag
2095 controls if a separate `.chi` index file is generated (\c YES) or that
2096 it should be included in the master `.chm` file (\c NO).
2100 <option type='string' id='CHM_INDEX_ENCODING' format='string' defval='' depends='GENERATE_HTMLHELP'>
2103 The \c CHM_INDEX_ENCODING
2104 is used to encode HtmlHelp index (\c hhk), content (\c hhc) and project file
2109 <option type='bool' id='BINARY_TOC' defval='0' depends='GENERATE_HTMLHELP'>
2112 The \c BINARY_TOC flag
2113 controls whether a binary table of contents is generated (\c YES) or a
2114 normal table of contents (\c NO) in the `.chm` file. Furthermore it enables
2115 the `Previous` and `Next` buttons.
2119 <option type='bool' id='TOC_EXPAND' defval='0' depends='GENERATE_HTMLHELP'>
2122 The \c TOC_EXPAND flag can be set to \c YES to add extra items for
2123 group members to the table of contents of the HTML help documentation
2124 and to the tree view.
2128 <option type='bool' id='GENERATE_QHP' defval='0' depends='GENERATE_HTML'>
2131 If the \c GENERATE_QHP tag is set to \c YES and both \ref cfg_qhp_namespace "QHP_NAMESPACE"
2132 and \ref cfg_qhp_virtual_folder "QHP_VIRTUAL_FOLDER" are set, an additional index file will
2133 be generated that can be used as input for Qt's qhelpgenerator
2134 to generate a Qt Compressed Help (`.qch`) of the generated HTML
2139 <option type='string' id='QCH_FILE' format='file' defval='' depends='GENERATE_QHP'>
2142 If the \ref cfg_qhg_location "QHG_LOCATION" tag is specified, the \c QCH_FILE tag can
2143 be used to specify the file name of the resulting `.qch` file.
2144 The path specified is relative to the HTML output folder.
2148 <option type='string' id='QHP_NAMESPACE' format='string' defval='org.doxygen.Project' depends='GENERATE_QHP'>
2151 The \c QHP_NAMESPACE tag specifies the namespace to use when generating
2152 Qt Help Project output. For more information please see
2153 <a href="http://doc.qt.io/qt-4.8/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
2157 <option type='string' id='QHP_VIRTUAL_FOLDER' format='string' defval='doc' depends='GENERATE_QHP'>
2160 The \c QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
2161 generating Qt Help Project output. For more information please see
2162 <a href="http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
2166 <option type='string' id='QHP_CUST_FILTER_NAME' format='string' defval='' depends='GENERATE_QHP'>
2169 If the \c QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom filter to add. For more information please see
2170 <a href="http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
2174 <option type='string' id='QHP_CUST_FILTER_ATTRS' format='string' defval='' depends='GENERATE_QHP'>
2177 The \c QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the custom filter to add.
2178 For more information please see
2179 <a href="http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
2183 <option type='string' id='QHP_SECT_FILTER_ATTRS' format='string' defval='' depends='GENERATE_QHP'>
2186 The \c QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches.
2187 <a href="http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
2191 <option type='string' id='QHG_LOCATION' format='file' defval='' depends='GENERATE_QHP'>
2194 The \c QHG_LOCATION tag can be used to specify the location of Qt's qhelpgenerator.
2195 If non-empty doxygen will try to run qhelpgenerator on the generated `.qhp` file.
2199 <option type='bool' id='GENERATE_ECLIPSEHELP' defval='0' depends='GENERATE_HTML'>
2202 If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files
2203 will be generated, together with the HTML files, they form an `Eclipse` help
2206 To install this plugin and make it available under the help contents
2207 menu in `Eclipse`, the contents of the directory containing the HTML and XML
2208 files needs to be copied into the plugins directory of eclipse. The name of
2209 the directory within the plugins directory should be the same as
2210 the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value.
2212 After copying `Eclipse` needs to be restarted before the help appears.
2216 <option type='string' id='ECLIPSE_DOC_ID' format='string' defval='org.doxygen.Project' depends='GENERATE_ECLIPSEHELP'>
2219 A unique identifier for the `Eclipse` help plugin. When installing the plugin
2220 the directory name containing the HTML and XML files should also have
2221 this name. Each documentation set should have its own identifier.
2225 <option type='bool' id='DISABLE_INDEX' defval='0' depends='GENERATE_HTML'>
2228 If you want full control over the layout of the generated HTML pages it
2229 might be necessary to disable the index and replace it with your own.
2230 The \c DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at
2231 top of each HTML page. A value of \c NO enables the index and the
2232 value \c YES disables it. Since the tabs in the index contain the same
2233 information as the navigation tree, you can set this option to \c YES if
2234 you also set \ref cfg_generate_treeview "GENERATE_TREEVIEW" to \c YES.
2238 <option type='bool' id='GENERATE_TREEVIEW' defval='0' depends='GENERATE_HTML'>
2241 The \c GENERATE_TREEVIEW tag is used to specify whether a tree-like index
2242 structure should be generated to display hierarchical information.
2243 If the tag value is set to \c YES, a side panel will be generated
2244 containing a tree-like index structure (just like the one that
2245 is generated for HTML Help). For this to work a browser that supports
2246 JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
2247 Windows users are probably better off using the HTML help feature.
2249 Via custom style sheets (see \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET")
2250 one can further \ref doxygen_finetune "fine-tune" the look of the index.
2251 As an example, the default style sheet generated by doxygen has an
2252 example that shows how to put an image at the root of the tree instead of
2253 the \ref cfg_project_name "PROJECT_NAME".
2255 Since the tree basically has the same information as the tab index, you could
2256 consider setting \ref cfg_disable_index "DISABLE_INDEX" to \c YES when
2257 enabling this option.
2262 <option type='int' id='ENUM_VALUES_PER_LINE' minval='0' maxval='20' defval='4' depends='GENERATE_HTML'>
2265 The \c ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
2266 that doxygen will group on one line in the generated HTML documentation.
2267 <br>Note that a value of 0 will completely suppress the enum values from
2268 appearing in the overview section.
2272 <option type='int' id='TREEVIEW_WIDTH' minval='0' maxval='1500' defval='250' depends='GENERATE_HTML'>
2275 If the treeview is enabled (see \ref cfg_generate_treeview "GENERATE_TREEVIEW") then this tag can be
2276 used to set the initial width (in pixels) of the frame in which the tree
2281 <option type='bool' id='EXT_LINKS_IN_WINDOW' defval='0' depends='GENERATE_HTML'>
2284 If the \c EXT_LINKS_IN_WINDOW option is set to \c YES, doxygen will open
2285 links to external symbols imported via tag files in a separate window.
2289 <option type='int' id='FORMULA_FONTSIZE' minval='8' maxval='50' defval='10' depends='GENERATE_HTML'>
2292 Use this tag to change the font size of \f$\mbox{\LaTeX}\f$ formulas included
2293 as images in the HTML documentation.
2294 When you change the font size after a successful doxygen run you need
2295 to manually remove any `form_*.png` images from the HTML
2296 output directory to force them to be regenerated.
2300 <option type='bool' id='FORMULA_TRANSPARENT' defval='1' depends='GENERATE_HTML'>
2303 Use the \c FORMULA_TRANSPARENT tag to determine whether or not the images
2304 generated for formulas are transparent PNGs. Transparent PNGs are
2305 not supported properly for IE 6.0, but are supported on all modern browsers.
2306 <br>Note that when changing this option you need to delete any `form_*.png` files
2307 in the HTML output directory before the changes have effect.
2311 <option type='bool' id='USE_MATHJAX' defval='0' depends='GENERATE_HTML'>
2314 Enable the \c USE_MATHJAX option to render \f$\mbox{\LaTeX}\f$ formulas using MathJax
2315 (see https://www.mathjax.org) which uses client side Javascript for the
2316 rendering instead of using pre-rendered bitmaps. Use this if you do not
2317 have \f$\mbox{\LaTeX}\f$ installed or if you want to formulas look prettier in the HTML
2318 output. When enabled you may also need to install MathJax separately and
2319 configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH"
2324 <option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' depends='USE_MATHJAX'>
2327 When MathJax is enabled you can set the default output format to be used for
2329 See <a href="http://docs.mathjax.org/en/latest/output.html">the MathJax site</a>
2333 <value name="HTML-CSS" desc="(which is slower, but has the best compatibility)"/>
2334 <value name="NativeMML" desc="(i.e. MathML)"/>
2337 <option type='string' id='MATHJAX_RELPATH' format='string' defval='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/' depends='USE_MATHJAX'>
2340 When MathJax is enabled you need to specify the location relative to the
2341 HTML output directory using the \c MATHJAX_RELPATH option. The destination
2342 directory should contain the `MathJax.js` script. For instance, if the \c mathjax
2343 directory is located at the same level as the HTML output directory, then
2344 \c MATHJAX_RELPATH should be <code>../mathjax</code>. The default value points to
2345 the MathJax Content Delivery Network so you can quickly see the result without
2346 installing MathJax. However, it is strongly recommended to install a local
2347 copy of MathJax from https://www.mathjax.org before deployment.
2351 <option type='list' id='MATHJAX_EXTENSIONS' format='string' depends='USE_MATHJAX'>
2354 The \c MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax extension
2355 names that should be enabled during MathJax rendering. For example
2357 MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
2362 <option type='string' id='MATHJAX_CODEFILE' format='string' depends='USE_MATHJAX'>
2365 The \c MATHJAX_CODEFILE tag can be used to specify a file with javascript
2366 pieces of code that will be used on startup of the MathJax code.
2368 <a href="http://docs.mathjax.org/en/latest/output.html">the MathJax site</a>
2372 <docs doxywizard='0' doxyfile='0'>
2374 As an example to disable the "Math Renderer" menu item in the "Math
2375 Settings" menu of MathJax:
2377 MATHJAX_CODEFILE = disableRenderer.js
2379 with in the file <code>disableRenderer.js</code>:
2381 MathJax.Hub.Config({
2383 showRenderer: false,
2389 <docs documentation='0'>
2391 For an example see the documentation.
2395 <option type='bool' id='SEARCHENGINE' defval='1' depends='GENERATE_HTML'>
2398 When the \c SEARCHENGINE tag is enabled doxygen will generate a search box
2399 for the HTML output. The underlying search engine uses javascript
2400 and DHTML and should work on any modern browser. Note that when using
2401 HTML help (\ref cfg_generate_htmlhelp "GENERATE_HTMLHELP"),
2402 Qt help (\ref cfg_generate_qhp "GENERATE_QHP"), or docsets
2403 (\ref cfg_generate_docset "GENERATE_DOCSET") there is already a search
2404 function so this one should typically be disabled. For large projects
2405 the javascript based search engine can be slow, then enabling
2406 \ref cfg_server_based_search "SERVER_BASED_SEARCH" may provide a
2409 It is possible to search using the keyboard;
2410 to jump to the search box use <code>\<access key\> + S</code> (what the <code>\<access key\></code> is
2411 depends on the OS and browser, but it is typically <code>\<CTRL\></code>, <code>\<ALT\></code>/<code>\<option\></code>, or both).
2412 Inside the search box use the <code>\<cursor down key\></code> to jump into the search
2413 results window, the results can be navigated using the <code>\<cursor keys\></code>.
2414 Press <code>\<Enter\></code> to select an item or <code>\<escape\></code> to cancel the search. The
2415 filter options can be selected when the cursor is inside the search box
2416 by pressing <code>\<Shift\>+\<cursor down\></code>. Also here use the <code>\<cursor keys\></code> to
2417 select a filter and <code>\<Enter\></code> or <code>\<escape\></code> to activate or cancel the filter option.
2421 <option type='bool' id='SERVER_BASED_SEARCH' defval='0' depends='SEARCHENGINE'>
2424 When the \c SERVER_BASED_SEARCH tag is enabled the search engine will be
2425 implemented using a web server instead of a web client using Javascript.
2427 There are two flavors of web server based searching depending on the
2428 \ref cfg_external_search "EXTERNAL_SEARCH" setting. When disabled,
2429 doxygen will generate a PHP script for searching and an index file used
2430 by the script. When \ref cfg_external_search "EXTERNAL_SEARCH" is
2431 enabled the indexing and searching needs to be provided by external tools.
2432 See the section \ref extsearch for details.
2436 <option type='bool' id='EXTERNAL_SEARCH' defval='0' depends='SEARCHENGINE'>
2439 When \c EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
2440 script for searching. Instead the search results are written to an XML file
2441 which needs to be processed by an external indexer. Doxygen will invoke an
2442 external search engine pointed to by the
2443 \ref cfg_searchengine_url "SEARCHENGINE_URL" option to obtain
2445 <br>Doxygen ships with an example indexer (\c doxyindexer) and
2446 search engine (<code>doxysearch.cgi</code>) which are based on the open source search
2447 engine library <a href="https://xapian.org/">Xapian</a>.
2448 <br>See the section \ref extsearch for details.
2452 <option type='string' id='SEARCHENGINE_URL' format='string' defval='' depends='SEARCHENGINE'>
2455 The \c SEARCHENGINE_URL should point to a search engine hosted by a web server
2456 which will return the search results when \ref cfg_external_search "EXTERNAL_SEARCH"
2458 <br>Doxygen ships with an example indexer (\c doxyindexer) and
2459 search engine (<code>doxysearch.cgi</code>) which are based on the open source search
2460 engine library <a href="https://xapian.org/">Xapian</a>.
2461 See the section \ref extsearch for details.
2465 <option type='string' id='SEARCHDATA_FILE' format='file' defval='searchdata.xml' depends='SEARCHENGINE'>
2468 When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
2469 \ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the unindexed
2470 search data is written to a file for indexing by an external tool. With the
2471 \c SEARCHDATA_FILE tag the name of this file can be specified.
2475 <option type='string' id='EXTERNAL_SEARCH_ID' format='string' defval='' depends='SEARCHENGINE'>
2478 When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
2479 \ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the
2480 \c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
2481 useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS"
2482 to search through multiple projects and redirect the results back to the right project.
2486 <option type='list' id='EXTRA_SEARCH_MAPPINGS' format='string' depends='SEARCHENGINE'>
2489 The \c EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
2490 projects other than the one defined by this configuration file, but that are
2491 all added to the same external search index. Each project needs to have a
2492 unique id set via \ref cfg_external_search_id "EXTERNAL_SEARCH_ID".
2493 The search mapping then maps the id of to a relative location where the
2494 documentation can be found.
2498 EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
2504 <group name='LaTeX' docs='Configuration options related to the LaTeX output'>
2505 <option type='bool' id='GENERATE_LATEX' defval='1'>
2508 If the \c GENERATE_LATEX tag is set to \c YES, doxygen will
2509 generate \f$\mbox{\LaTeX}\f$ output.
2513 <option type='string' id='LATEX_OUTPUT' format='dir' defval='latex' depends='GENERATE_LATEX'>
2516 The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$
2518 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2523 <option type='string' id='LATEX_CMD_NAME' format='file' defval='latex' depends='GENERATE_LATEX'>
2526 The \c LATEX_CMD_NAME tag can be used to specify the \f$\mbox{\LaTeX}\f$ command name to be invoked.
2527 <br>Note that when enabling \ref cfg_use_pdflatex "USE_PDFLATEX" this option is only used for
2528 generating bitmaps for formulas in the HTML output, but not in the
2529 \c Makefile that is written to the output directory.
2533 <option type='string' id='MAKEINDEX_CMD_NAME' format='file' defval='makeindex' depends='GENERATE_LATEX'>
2536 The \c MAKEINDEX_CMD_NAME tag can be used to specify the command name to
2537 generate index for \f$\mbox{\LaTeX}\f$.
2541 <option type='bool' id='COMPACT_LATEX' defval='0' depends='GENERATE_LATEX'>
2544 If the \c COMPACT_LATEX tag is set to \c YES, doxygen generates more compact
2545 \f$\mbox{\LaTeX}\f$ documents. This may be useful for small projects and may help to
2546 save some trees in general.
2550 <option type='enum' id='PAPER_TYPE' defval='a4' depends='GENERATE_LATEX'>
2553 The \c PAPER_TYPE tag can be used to set the paper type that is used
2557 <value name='a4' desc='(210 x 297 mm)'/>
2558 <value name='letter' desc='(8.5 x 11 inches)'/>
2559 <value name='legal' desc='(8.5 x 14 inches)'/>
2560 <value name='executive' desc='(7.25 x 10.5 inches)'/>
2562 <option type='list' id='EXTRA_PACKAGES' format='string' depends='GENERATE_LATEX'>
2565 The \c EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$
2566 package names that should be included in the \f$\mbox{\LaTeX}\f$ output. The package
2567 can be specified just by its name or with the correct syntax as to be used with the
2568 \f$\mbox{\LaTeX}\f$ `\usepackage` command.
2570 To get the `times` font for instance you can specify :
2572 EXTRA_PACKAGES=times
2574 EXTRA_PACKAGES={times}
2576 To use the option `intlimits` with the `amsmath` package you can specify:
2578 EXTRA_PACKAGES=[intlimits]{amsmath}
2580 If left blank no extra packages will be included.
2584 <option type='string' id='LATEX_HEADER' format='file' defval='' depends='GENERATE_LATEX'>
2587 The \c LATEX_HEADER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$
2588 header for the generated \f$\mbox{\LaTeX}\f$ document.
2589 The header should contain everything until the first chapter.
2591 If it is left blank doxygen will generate a
2592 standard header. See section \ref doxygen_usage for information on how to
2593 let doxygen write the default header to a separate file.
2595 <br>Note: Only use a user-defined header if you know what you are doing!
2597 The following commands have a special meaning inside the header:
2598 <code>\$title</code>, <code>\$datetime</code>, <code>\$date</code>,
2599 <code>\$doxygenversion</code>, <code>\$projectname</code>,
2600 <code>\$projectnumber</code>, <code>\$projectbrief</code>,
2601 <code>\$projectlogo</code>.
2602 Doxygen will replace <code>\$title</code> with the empty string, for the replacement values of the
2603 other commands the user is referred to \ref cfg_html_header "HTML_HEADER".
2607 <option type='string' id='LATEX_FOOTER' format='file' defval='' depends='GENERATE_LATEX'>
2610 The \c LATEX_FOOTER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ footer for
2611 the generated \f$\mbox{\LaTeX}\f$ document. The footer should contain everything after
2612 the last chapter. If it is left blank doxygen will generate a
2614 See \ref cfg_latex_header "LATEX_HEADER" for more information on
2615 how to generate a default footer and what special commands can be
2616 used inside the footer.
2618 <br>Note: Only use a user-defined footer if you know what you are doing!
2622 <option type='list' id='LATEX_EXTRA_STYLESHEET' format='file' defval='' depends='GENERATE_LATEX'>
2625 The \c LATEX_EXTRA_STYLESHEET tag can be used to specify additional
2626 user-defined \f$\mbox{\LaTeX}\f$ style sheets that are included after the standard
2627 style sheets created by doxygen. Using this option one can overrule
2628 certain style aspects. Doxygen will copy the style sheet files to
2629 the output directory.
2630 \note The order of the extra style sheet files is of importance (e.g. the last
2631 style sheet in the list overrules the setting of the previous ones in the list).
2635 <option type='list' id='LATEX_EXTRA_FILES' format='file' depends='GENERATE_LATEX'>
2638 The \c LATEX_EXTRA_FILES tag can be used to specify one or more extra images
2639 or other source files which should be copied to the \ref cfg_latex_output "LATEX_OUTPUT"
2641 Note that the files will be copied as-is; there are no commands or markers
2646 <option type='bool' id='PDF_HYPERLINKS' defval='1' depends='GENERATE_LATEX'>
2649 If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that
2650 is generated is prepared for conversion to PDF (using \c ps2pdf or \c pdflatex).
2652 contain links (just like the HTML output) instead of page references.
2653 This makes the output suitable for online browsing using a PDF viewer.
2657 <option type='bool' id='USE_PDFLATEX' defval='1' depends='GENERATE_LATEX'>
2660 If the \c USE_PDFLATEX tag is set to \c YES, doxygen will use
2661 \c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
2662 files. Set this option to \c YES, to get a higher quality PDF documentation.
2666 <option type='bool' id='LATEX_BATCHMODE' defval='0' depends='GENERATE_LATEX'>
2669 If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \c \\batchmode
2670 command to the generated \f$\mbox{\LaTeX}\f$ files. This will
2671 instruct \f$\mbox{\LaTeX}\f$ to keep running if errors occur, instead of
2672 asking the user for help. This option is also used when generating formulas
2677 <option type='bool' id='LATEX_HIDE_INDICES' defval='0' depends='GENERATE_LATEX'>
2680 If the \c LATEX_HIDE_INDICES tag is set to \c YES then doxygen will not
2681 include the index chapters (such as File Index, Compound Index, etc.)
2686 <option type='bool' id='LATEX_SOURCE_CODE' defval='0' depends='GENERATE_LATEX'>
2689 If the \c LATEX_SOURCE_CODE tag is set to \c YES then doxygen will include
2690 source code with syntax highlighting in the \f$\mbox{\LaTeX}\f$ output.
2691 <br>Note that which sources are shown also depends on other settings
2692 such as \ref cfg_source_browser "SOURCE_BROWSER".
2696 <option type='string' id='LATEX_BIB_STYLE' format='string' defval='plain' depends='GENERATE_LATEX'>
2699 The \c LATEX_BIB_STYLE tag can be used to specify the style to use for the
2700 bibliography, e.g. \c plainnat, or \c ieeetr.
2701 See https://en.wikipedia.org/wiki/BibTeX and \ref cmdcite "\\cite"
2706 <option type='bool' id='LATEX_TIMESTAMP' defval='0' depends='GENERATE_LATEX'>
2709 If the \c LATEX_TIMESTAMP tag is set to \c YES then the footer of
2710 each generated page will contain the date and time when the page
2711 was generated. Setting this to \c NO can help when comparing the output of
2717 <group name='RTF' docs='Configuration options related to the RTF output'>
2718 <option type='bool' id='GENERATE_RTF' defval='0'>
2721 If the \c GENERATE_RTF tag is set to \c YES, doxygen will generate RTF output.
2722 The RTF output is optimized for Word 97 and may not look too pretty with
2723 other RTF readers/editors.
2727 <option type='string' id='RTF_OUTPUT' format='dir' defval='rtf' depends='GENERATE_RTF'>
2730 The \c RTF_OUTPUT tag is used to specify where the RTF docs will be put.
2731 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2736 <option type='bool' id='COMPACT_RTF' defval='0' depends='GENERATE_RTF'>
2739 If the \c COMPACT_RTF tag is set to \c YES, doxygen generates more compact
2740 RTF documents. This may be useful for small projects and may help to
2741 save some trees in general.
2745 <option type='bool' id='RTF_HYPERLINKS' defval='0' depends='GENERATE_RTF'>
2748 If the \c RTF_HYPERLINKS tag is set to \c YES, the RTF that is generated
2749 will contain hyperlink fields. The RTF file will
2750 contain links (just like the HTML output) instead of page references.
2751 This makes the output suitable for online browsing using Word or some other
2752 Word compatible readers that support those fields.
2754 <br>Note: WordPad (write) and others do not support links.
2758 <option type='string' id='RTF_STYLESHEET_FILE' format='file' defval='' depends='GENERATE_RTF'>
2761 Load stylesheet definitions from file. Syntax is similar to doxygen's
2762 config file, i.e. a series of assignments. You only have to provide
2763 replacements, missing definitions are set to their default value.
2765 See also section \ref doxygen_usage for information on how to generate
2766 the default style sheet that doxygen normally uses.
2771 <option type='string' id='RTF_EXTENSIONS_FILE' format='file' defval='' depends='GENERATE_RTF'>
2774 Set optional variables used in the generation of an RTF document.
2775 Syntax is similar to doxygen's config file.
2776 A template extensions file can be generated using
2777 <code>doxygen -e rtf extensionFile</code>.
2781 <option type='bool' id='RTF_SOURCE_CODE' defval='0' depends='GENERATE_RTF'>
2784 If the \c RTF_SOURCE_CODE tag is set to \c YES then doxygen will include
2785 source code with syntax highlighting in the RTF output.
2786 <br>Note that which sources are shown also depends on other settings
2787 such as \ref cfg_source_browser "SOURCE_BROWSER".
2792 <group name='Man' docs='Configuration options related to the man page output'>
2793 <option type='bool' id='GENERATE_MAN' defval='0'>
2796 If the \c GENERATE_MAN tag is set to \c YES, doxygen will
2797 generate man pages for classes and files.
2801 <option type='string' id='MAN_OUTPUT' format='dir' defval='man' depends='GENERATE_MAN'>
2804 The \c MAN_OUTPUT tag is used to specify where the man pages will be put.
2805 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2807 A directory \c man3 will be created inside the directory specified by
2812 <option type='string' id='MAN_EXTENSION' format='string' defval='.3' depends='GENERATE_MAN'>
2815 The \c MAN_EXTENSION tag determines the extension that is added to
2816 the generated man pages. In case
2817 the manual section does not start with a number, the number 3 is prepended.
2818 The dot (.) at the beginning of the \c MAN_EXTENSION tag is optional.
2822 <option type='string' id='MAN_SUBDIR' format='string' defval='' depends='GENERATE_MAN'>
2825 The \c MAN_SUBDIR tag determines the name of the directory created within \c MAN_OUTPUT
2826 in which the man pages are placed. If defaults to man followed by \c MAN_EXTENSION
2827 with the initial . removed.
2831 <option type='bool' id='MAN_LINKS' defval='0' depends='GENERATE_MAN'>
2834 If the \c MAN_LINKS tag is set to \c YES and doxygen generates man output,
2835 then it will generate one additional man file for each entity documented in
2836 the real man page(s). These additional files only source the real man page,
2837 but without them the \c man command would be unable to find the correct page.
2842 <group name='XML' docs='Configuration options related to the XML output'>
2843 <option type='bool' id='GENERATE_XML' defval='0'>
2846 If the \c GENERATE_XML tag is set to \c YES, doxygen will
2847 generate an XML file that captures the structure of
2848 the code including all documentation.
2852 <option type='string' id='XML_OUTPUT' format='dir' defval='xml' depends='GENERATE_XML'>
2855 The \c XML_OUTPUT tag is used to specify where the XML pages will be put.
2856 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2861 <option type='bool' id='XML_PROGRAMLISTING' defval='1' depends='GENERATE_XML'>
2864 If the \c XML_PROGRAMLISTING tag is set to \c YES, doxygen will
2865 dump the program listings (including syntax highlighting
2866 and cross-referencing information) to the XML output. Note that
2867 enabling this will significantly increase the size of the XML output.
2872 <group name='Docbook' docs='Configuration options related to the DOCBOOK output'>
2873 <option type='bool' id='GENERATE_DOCBOOK' defval='0'>
2876 If the \c GENERATE_DOCBOOK tag is set to \c YES, doxygen will generate Docbook files
2877 that can be used to generate PDF.
2881 <option type='string' id='DOCBOOK_OUTPUT' format='dir' defval='docbook' depends='GENERATE_DOCBOOK'>
2884 The \c DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
2885 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be put in
2890 <option type='bool' id='DOCBOOK_PROGRAMLISTING' defval='0' depends='GENERATE_DOCBOOK'>
2893 If the \c DOCBOOK_PROGRAMLISTING tag is set to \c YES, doxygen will
2894 include the program listings (including syntax highlighting
2895 and cross-referencing information) to the DOCBOOK output. Note that
2896 enabling this will significantly increase the size of the DOCBOOK output.
2901 <group name='AutoGen' docs='Configuration options for the AutoGen Definitions output'>
2902 <option type='bool' id='GENERATE_AUTOGEN_DEF' defval='0'>
2905 If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES, doxygen will
2906 generate an AutoGen Definitions (see http://autogen.sourceforge.net/) file
2907 that captures the structure of the code including all
2908 documentation. Note that this feature is still experimental
2909 and incomplete at the moment.
2915 <group name='Sqlite3' docs='Configuration options related to Sqlite3 output'>
2916 <option type='bool' id='GENERATE_SQLITE3' defval='0'>
2919 If the \c GENERATE_SQLITE3 tag is set to \c YES doxygen will generate a
2920 \c Sqlite3 database with symbols found by doxygen stored in tables.
2924 <option type='string' id='SQLITE3_OUTPUT' format='dir' defval='sqlite3' depends='GENERATE_SQLITE3'>
2927 The \c SQLITE3_OUTPUT tag is used to specify where the \c Sqlite3 database will be put.
2928 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2936 <group name='PerlMod' docs='Configuration options related to the Perl module output'>
2937 <option type='bool' id='GENERATE_PERLMOD' defval='0'>
2940 If the \c GENERATE_PERLMOD tag is set to \c YES, doxygen will
2941 generate a Perl module file that captures the structure of
2942 the code including all documentation.
2944 feature is still experimental and incomplete at the
2949 <option type='bool' id='PERLMOD_LATEX' defval='0' depends='GENERATE_PERLMOD'>
2952 If the \c PERLMOD_LATEX tag is set to \c YES, doxygen will generate
2953 the necessary \c Makefile rules, \c Perl scripts and \f$\mbox{\LaTeX}\f$ code to be able
2954 to generate PDF and DVI output from the Perl module output.
2958 <option type='bool' id='PERLMOD_PRETTY' defval='1' depends='GENERATE_PERLMOD'>
2961 If the \c PERLMOD_PRETTY tag is set to \c YES, the Perl module output will be
2962 nicely formatted so it can be parsed by a human reader. This is useful
2963 if you want to understand what is going on. On the other hand, if this
2964 tag is set to \c NO, the size of the Perl module output will be much smaller
2965 and Perl will parse it just the same.
2969 <option type='string' id='PERLMOD_MAKEVAR_PREFIX' format='string' defval='' depends='GENERATE_PERLMOD'>
2972 The names of the make variables in the generated `doxyrules.make` file
2973 are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX.
2974 This is useful so different `doxyrules.make` files included by the same
2975 `Makefile` don't overwrite each other's variables.
2980 <group name='Preprocessor' docs='Configuration options related to the preprocessor'>
2981 <option type='bool' id='ENABLE_PREPROCESSING' defval='1'>
2984 If the \c ENABLE_PREPROCESSING tag is set to \c YES, doxygen will
2985 evaluate all C-preprocessor directives found in the sources and include
2990 <option type='bool' id='MACRO_EXPANSION' defval='0' depends='ENABLE_PREPROCESSING'>
2993 If the \c MACRO_EXPANSION tag is set to \c YES, doxygen will expand all macro
2994 names in the source code. If set to \c NO, only conditional
2995 compilation will be performed. Macro expansion can be done in a controlled
2996 way by setting \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" to \c YES.
3000 <option type='bool' id='EXPAND_ONLY_PREDEF' defval='0' depends='ENABLE_PREPROCESSING'>
3003 If the \c EXPAND_ONLY_PREDEF and \ref cfg_macro_expansion "MACRO_EXPANSION" tags are both set to \c YES
3004 then the macro expansion is limited to the macros specified with the
3005 \ref cfg_predefined "PREDEFINED" and \ref cfg_expand_as_defined "EXPAND_AS_DEFINED" tags.
3009 <option type='bool' id='SEARCH_INCLUDES' defval='1' depends='ENABLE_PREPROCESSING'>
3012 If the \c SEARCH_INCLUDES tag is set to \c YES, the include files
3013 in the \ref cfg_include_path "INCLUDE_PATH" will be searched if a \c \#include is found.
3017 <option type='list' id='INCLUDE_PATH' format='dir' depends='SEARCH_INCLUDES'>
3020 The \c INCLUDE_PATH tag can be used to specify one or more directories that
3021 contain include files that are not input files but should be processed by
3026 <option type='list' id='INCLUDE_FILE_PATTERNS' format='string' depends='ENABLE_PREPROCESSING'>
3029 You can use the \c INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
3030 patterns (like `*.h` and `*.hpp`) to filter out the header-files in the
3031 directories. If left blank, the patterns specified with \ref cfg_file_patterns "FILE_PATTERNS" will
3036 <option type='list' id='PREDEFINED' format='string' depends='ENABLE_PREPROCESSING'>
3039 The \c PREDEFINED tag can be used to specify one or more macro names that
3040 are defined before the preprocessor is started (similar to the `-D` option of
3041 e.g. \c gcc). The argument of the tag is a list of macros of the form:
3042 <code>name</code> or <code>name=definition</code> (no spaces).
3043 If the definition and the \c "=" are omitted, \c "=1" is assumed. To prevent
3044 a macro definition from being undefined via \c \#undef or recursively expanded
3045 use the <code>:=</code> operator instead of the \c = operator.
3049 <option type='list' id='EXPAND_AS_DEFINED' format='string' depends='ENABLE_PREPROCESSING'>
3052 If the \ref cfg_macro_expansion "MACRO_EXPANSION" and
3053 \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" tags are set to \c YES then
3054 this tag can be used to specify a list of macro names that should be expanded.
3055 The macro definition that is found in the sources will be used.
3056 Use the \ref cfg_predefined "PREDEFINED" tag if you want to use a different macro definition that
3057 overrules the definition found in the source code.
3061 <option type='bool' id='SKIP_FUNCTION_MACROS' defval='1' depends='ENABLE_PREPROCESSING'>
3064 If the \c SKIP_FUNCTION_MACROS tag is set to \c YES then
3065 doxygen's preprocessor will remove all references to function-like macros that are alone
3066 on a line, have an all uppercase name, and do not end with a semicolon.
3067 Such function macros are typically
3068 used for boiler-plate code, and will confuse the parser if not removed.
3073 <group name='External' docs='Configuration options related to external references'>
3074 <option type='list' id='TAGFILES' format='file'>
3077 The \c TAGFILES tag can be used to specify one or more tag files.
3080 tag file the location of the external documentation should be added. The
3081 format of a tag file without this location is as follows:
3083 TAGFILES = file1 file2 ...
3085 Adding location for the tag files is done as follows:
3087 TAGFILES = file1=loc1 "file2 = loc2" ...
3089 where `loc1` and `loc2` can be relative or absolute paths or URLs.
3090 See the section \ref external for more information about the use of tag files.
3093 Each tag file must have a unique name
3094 (where the name does \e NOT include the path).
3095 If a tag file is not located in the directory in which doxygen
3096 is run, you must also specify the path to the tagfile here.
3100 <option type='string' id='GENERATE_TAGFILE' format='file' defval=''>
3103 When a file name is specified after \c GENERATE_TAGFILE, doxygen will create
3104 a tag file that is based on the input files it reads.
3105 See section \ref external for more information about the usage of
3110 <option type='bool' id='ALLEXTERNALS' defval='0'>
3113 If the \c ALLEXTERNALS tag is set to \c YES, all external class will be listed
3114 in the class index. If set to \c NO, only the inherited external classes
3119 <option type='bool' id='EXTERNAL_GROUPS' defval='1'>
3122 If the \c EXTERNAL_GROUPS tag is set to \c YES, all external groups will be listed
3123 in the modules index. If set to \c NO, only the current project's groups will
3128 <option type='bool' id='EXTERNAL_PAGES' defval='1'>
3131 If the \c EXTERNAL_PAGES tag is set to \c YES, all external pages will be listed
3132 in the related pages index. If set to \c NO, only the current project's
3133 pages will be listed.
3137 <option type='string' id='PERL_PATH' format='file' defval='/usr/bin/perl' abspath='1'>
3140 The \c PERL_PATH should be the absolute path and name of the perl script
3141 interpreter (i.e. the result of `'which perl'`).
3146 <group name='Dot' docs='Configuration options related to the dot tool'>
3147 <option type='bool' id='CLASS_DIAGRAMS' defval='1'>
3150 If the \c CLASS_DIAGRAMS tag is set to \c YES, doxygen will
3151 generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or
3152 super classes. Setting the tag to \c NO turns the diagrams off. Note that
3153 this option also works with \ref cfg_have_dot "HAVE_DOT" disabled, but it is recommended to
3154 install and use \c dot, since it yields more powerful graphs.
3158 <option type='string' id='MSCGEN_PATH' format='dir' defval=''>
3161 You can define message sequence charts within doxygen comments using the \ref cmdmsc "\\msc"
3162 command. Doxygen will then run the <a href="http://www.mcternan.me.uk/mscgen/">mscgen tool</a>) to
3163 produce the chart and insert it in the documentation. The <code>MSCGEN_PATH</code> tag allows you to
3164 specify the directory where the \c mscgen tool resides. If left empty the tool is assumed to
3165 be found in the default search path.
3169 <option type='string' id='DIA_PATH' format='dir' defval=''>
3172 You can include diagrams made with dia in doxygen documentation. Doxygen will then run
3173 dia to produce the diagram and insert it in the documentation. The DIA_PATH tag allows
3174 you to specify the directory where the dia binary resides. If left empty dia is assumed
3175 to be found in the default search path.
3179 <option type='bool' id='HIDE_UNDOC_RELATIONS' defval='1'>
3182 If set to \c YES the inheritance and collaboration graphs will hide
3183 inheritance and usage relations if the target is undocumented
3188 <option type='bool' id='HAVE_DOT' defval='0'>
3191 If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the \c dot tool is
3192 available from the \c path. This tool is part of
3193 <a href="http://www.graphviz.org/">Graphviz</a>, a graph
3194 visualization toolkit from AT\&T and Lucent Bell Labs. The other options in
3195 this section have no effect if this option is set to \c NO
3199 <option type='int' id='DOT_NUM_THREADS' defval='0' minval='0' maxval='32' depends='HAVE_DOT'>
3202 The \c DOT_NUM_THREADS specifies the number of \c dot invocations doxygen is
3203 allowed to run in parallel. When set to \c 0 doxygen will
3204 base this on the number of processors available in the system. You can set it
3205 explicitly to a value larger than 0 to get control over the balance
3206 between CPU load and processing speed.
3210 <option type='string' id='DOT_FONTNAME' format='string' defval='Helvetica' depends='HAVE_DOT'>
3213 When you want a differently looking font in the dot files that doxygen generates
3214 you can specify the font name
3215 using \c DOT_FONTNAME. You need to make sure dot is able to find the font,
3216 which can be done by putting it in a standard location or by setting the
3217 \c DOTFONTPATH environment variable or by setting \ref cfg_dot_fontpath "DOT_FONTPATH" to the
3218 directory containing the font.
3222 <option type='int' id='DOT_FONTSIZE' minval='4' maxval='24' defval='10' depends='HAVE_DOT'>
3225 The \c DOT_FONTSIZE tag can be used to set the size (in points) of the font of dot graphs.
3229 <option type='string' id='DOT_FONTPATH' format='dir' defval='' depends='HAVE_DOT'>
3232 By default doxygen will tell \c dot to use the default font as specified with \ref cfg_dot_fontname "DOT_FONTNAME".
3234 different font using \ref cfg_dot_fontname "DOT_FONTNAME" you can set the path where \c dot
3235 can find it using this tag.
3239 <option type='bool' id='CLASS_GRAPH' defval='1' depends='HAVE_DOT'>
3242 If the \c CLASS_GRAPH tag is set to \c YES then doxygen
3243 will generate a graph for each documented class showing the direct and
3244 indirect inheritance relations. Setting this tag to \c YES will force
3245 the \ref cfg_class_diagrams "CLASS_DIAGRAMS" tag to \c NO.
3249 <option type='bool' id='COLLABORATION_GRAPH' defval='1' depends='HAVE_DOT'>
3252 If the \c COLLABORATION_GRAPH tag is set to \c YES then doxygen
3253 will generate a graph for each documented class showing the direct and
3254 indirect implementation dependencies (inheritance, containment, and
3255 class references variables) of the class with other documented classes.
3259 <option type='bool' id='GROUP_GRAPHS' defval='1' depends='HAVE_DOT'>
3262 If the \c GROUP_GRAPHS tag is set to \c YES then doxygen
3263 will generate a graph for groups, showing the direct groups dependencies.
3267 <option type='bool' id='UML_LOOK' defval='0' depends='HAVE_DOT'>
3270 If the \c UML_LOOK tag is set to \c YES, doxygen will generate inheritance and
3271 collaboration diagrams in a style similar to the OMG's Unified Modeling
3276 <option type='int' id='UML_LIMIT_NUM_FIELDS' defval='10' minval='0' maxval='100' depends='HAVE_DOT'>
3279 If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside
3280 the class node. If there are many fields or methods and many nodes the
3281 graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS
3282 threshold limits the number of items for each type to make the size more
3283 manageable. Set this to 0 for no limit. Note that the threshold may be
3284 exceeded by 50% before the limit is enforced. So when you set the threshold
3285 to 10, up to 15 fields may appear, but if the number exceeds 15, the
3286 total amount of fields shown is limited to 10.
3290 <option type='bool' id='TEMPLATE_RELATIONS' defval='0' depends='HAVE_DOT'>
3293 If the \c TEMPLATE_RELATIONS tag is set to \c YES then
3294 the inheritance and collaboration graphs will show the relations between templates and their instances.
3298 <option type='bool' id='INCLUDE_GRAPH' defval='1' depends='HAVE_DOT'>
3301 If the \c INCLUDE_GRAPH, \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" and
3302 \ref cfg_search_includes "SEARCH_INCLUDES"
3303 tags are set to \c YES then doxygen will generate a graph for each documented file
3304 showing the direct and indirect include dependencies of the file with other
3309 <option type='bool' id='INCLUDED_BY_GRAPH' defval='1' depends='HAVE_DOT'>
3312 If the \c INCLUDED_BY_GRAPH, \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" and
3313 \ref cfg_search_includes "SEARCH_INCLUDES"
3314 tags are set to \c YES then doxygen will generate a graph for each documented file
3315 showing the direct and indirect include dependencies of the file with other
3320 <option type='bool' id='CALL_GRAPH' defval='0' depends='HAVE_DOT'>
3323 If the \c CALL_GRAPH tag is set to \c YES then doxygen will
3324 generate a call dependency graph for every global function or class method.
3325 <br>Note that enabling this option will significantly increase the time of a run.
3326 So in most cases it will be better to enable call graphs for selected
3327 functions only using the \ref cmdcallgraph "\\callgraph" command.
3328 Disabling a call graph can be accomplished by means of the command
3329 \ref cmdhidecallgraph "\\hidecallgraph".
3333 <option type='bool' id='CALLER_GRAPH' defval='0' depends='HAVE_DOT'>
3336 If the \c CALLER_GRAPH tag is set to \c YES then doxygen will
3337 generate a caller dependency graph for every global function or class method.
3338 <br>Note that enabling this option will significantly increase the time of a run.
3339 So in most cases it will be better to enable caller graphs for selected
3340 functions only using the \ref cmdcallergraph "\\callergraph" command.
3341 Disabling a caller graph can be accomplished by means of the command
3342 \ref cmdhidecallergraph "\\hidecallergraph".
3346 <option type='bool' id='GRAPHICAL_HIERARCHY' defval='1' depends='HAVE_DOT'>
3349 If the \c GRAPHICAL_HIERARCHY tag is set to \c YES then
3350 doxygen will graphical hierarchy of all classes instead of a textual one.
3354 <option type='bool' id='DIRECTORY_GRAPH' defval='1' depends='HAVE_DOT'>
3357 If the \c DIRECTORY_GRAPH tag is set
3358 to \c YES then doxygen will show the dependencies a directory has on other directories
3359 in a graphical way. The dependency relations are determined by the \c \#include
3360 relations between the files in the directories.
3364 <option type='enum' id='DOT_IMAGE_FORMAT' defval='png' depends='HAVE_DOT'>
3367 The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images
3368 generated by \c dot. For an explanation of the image formats see the section output formats
3369 in the documentation of the \c dot tool
3370 (<a href="http://www.graphviz.org/">Graphviz</a>).
3371 \note If you choose \c svg you need to set
3372 \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
3373 visible in IE 9+ (other browsers do not have this requirement).
3380 <value name='png:gd'/>
3381 <value name='png:gd:gd'/>
3382 <value name='png:cairo'/>
3383 <value name='png:cairo:gd'/>
3384 <value name='png:cairo:cairo'/>
3385 <value name='png:cairo:gdiplus'/>
3386 <value name='png:gdiplus'/>
3387 <value name='png:gdiplus:gdiplus'/>
3389 <option type='bool' id='INTERACTIVE_SVG' defval='0' depends='HAVE_DOT'>
3392 If \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" is set to \c svg, then this option can be set to \c YES to
3393 enable generation of interactive SVG images that allow zooming and panning.
3394 <br>Note that this requires a modern browser other than Internet Explorer.
3395 Tested and working are Firefox, Chrome, Safari, and Opera.
3396 \note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order
3397 to make the SVG files visible. Older versions of IE do not have SVG support.
3401 <option type='string' id='DOT_PATH' format='dir' defval='' depends='HAVE_DOT'>
3404 The \c DOT_PATH tag can be used to specify the path where the \c dot tool can be found.
3405 If left blank, it is assumed the \c dot tool can be found in the \c path.
3409 <option type='list' id='DOTFILE_DIRS' format='dir' depends='HAVE_DOT'>
3412 The \c DOTFILE_DIRS tag can be used to specify one or more directories that
3413 contain dot files that are included in the documentation (see the
3414 \ref cmddotfile "\\dotfile" command).
3418 <option type='list' id='MSCFILE_DIRS' format='dir'>
3421 The \c MSCFILE_DIRS tag can be used to specify one or more directories that
3422 contain msc files that are included in the documentation (see the
3423 \ref cmdmscfile "\\mscfile" command).
3427 <option type='list' id='DIAFILE_DIRS' format='dir'>
3430 The \c DIAFILE_DIRS tag can be used to specify one or more directories that
3431 contain dia files that are included in the documentation (see the
3432 \ref cmddiafile "\\diafile" command).
3436 <option type='string' id='PLANTUML_JAR_PATH' format='dir' defval=''>
3439 When using plantuml, the \c PLANTUML_JAR_PATH tag should be used to specify the path where
3440 java can find the \c plantuml.jar file. If left blank, it is assumed PlantUML is not used or
3441 called during a preprocessing step. Doxygen will generate a warning when it encounters a
3442 \ref cmdstartuml "\\startuml" command in this case and will not generate output for the diagram.
3446 <option type='string' id='PLANTUML_CFG_FILE' format='file' defval=''>
3449 When using plantuml, the \c PLANTUML_CFG_FILE tag can be used to specify a configuration
3454 <option type='list' id='PLANTUML_INCLUDE_PATH' format='dir' defval=''>
3457 When using plantuml, the specified paths are searched for files specified by the \c !include
3458 statement in a plantuml block.
3462 <option type='int' id='DOT_GRAPH_MAX_NODES' minval='0' maxval='10000' defval='50' depends='HAVE_DOT'>
3465 The \c DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
3466 nodes that will be shown in the graph. If the number of nodes in a graph
3467 becomes larger than this value, doxygen will truncate the graph, which is
3468 visualized by representing a node as a red box. Note that doxygen if the number
3469 of direct children of the root node in a graph is already larger than
3470 \c DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
3471 that the size of a graph can be further restricted by \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH".
3475 <option type='int' id='MAX_DOT_GRAPH_DEPTH' minval='0' maxval='1000' defval='0' depends='HAVE_DOT'>
3478 The \c MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
3479 graphs generated by \c dot. A depth value of 3 means that only nodes reachable
3480 from the root by following a path via at most 3 edges will be shown. Nodes
3481 that lay further from the root node will be omitted. Note that setting this
3482 option to 1 or 2 may greatly reduce the computation time needed for large
3483 code bases. Also note that the size of a graph can be further restricted by
3484 \ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES". Using a depth of 0 means no depth restriction.
3488 <option type='bool' id='DOT_TRANSPARENT' defval='0' depends='HAVE_DOT'>
3491 Set the \c DOT_TRANSPARENT tag to \c YES to generate images with a transparent
3492 background. This is disabled by default, because dot on Windows does not
3493 seem to support this out of the box.
3495 Warning: Depending on the platform used,
3496 enabling this option may lead to badly anti-aliased labels on the edges of
3497 a graph (i.e. they become hard to read).
3501 <option type='bool' id='DOT_MULTI_TARGETS' defval='0' depends='HAVE_DOT'>
3504 Set the \c DOT_MULTI_TARGETS tag to \c YES to allow dot to generate multiple output
3505 files in one run (i.e. multiple -o and -T options on the command line). This
3506 makes \c dot run faster, but since only newer versions of \c dot (>1.8.10)
3507 support this, this feature is disabled by default.
3511 <option type='bool' id='GENERATE_LEGEND' defval='1' depends='HAVE_DOT'>
3514 If the \c GENERATE_LEGEND tag is set to \c YES doxygen will
3515 generate a legend page explaining the meaning of the various boxes and
3516 arrows in the dot generated graphs.
3520 <option type='bool' id='DOT_CLEANUP' defval='1' depends='HAVE_DOT'>
3523 If the \c DOT_CLEANUP tag is set to \c YES, doxygen will
3524 remove the intermediate dot files that are used to generate the various graphs.
3528 <option type='obsolete' id='USE_WINDOWS_ENCODING'/>
3529 <option type='obsolete' id='DETAILS_AT_TOP'/>
3530 <option type='obsolete' id='QTHELP_FILE'/>
3531 <option type='obsolete' id='QTHELP_CONFIG'/>
3532 <option type='obsolete' id='DOXYGEN2QTHELP_LOC'/>
3533 <option type='obsolete' id='MAX_DOT_GRAPH_WIDTH'/>
3534 <option type='obsolete' id='MAX_DOT_GRAPH_HEIGHT'/>
3535 <option type='obsolete' id='CGI_NAME'/>
3536 <option type='obsolete' id='CGI_URL'/>
3537 <option type='obsolete' id='DOC_URL'/>
3538 <option type='obsolete' id='DOC_ABSPATH'/>
3539 <option type='obsolete' id='BIN_ABSPATH'/>
3540 <option type='obsolete' id='EXT_DOC_PATHS'/>
3541 <option type='obsolete' id='USE_INLINE_TREES'/>
3542 <option type='obsolete' id='SHOW_DIRECTORIES'/>
3543 <option type='obsolete' id='HTML_ALIGN_MEMBERS'/>
3544 <option type='obsolete' id='SYMBOL_CACHE_SIZE'/>
3545 <option type='obsolete' id='XML_SCHEMA'/>
3546 <option type='obsolete' id='XML_DTD'/>