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.
50 Environment variables can be expanded using the pattern <code>\$(ENV_VARIABLE_NAME)</code>.
53 DOT_PATH = $(YOUR_DOT_PATH)
56 You can also include part of a configuration file from another configuration
57 file using a <code>\@INCLUDE</code> tag as follows:
59 @INCLUDE = config_file_name
61 The include file is searched in the current working directory. You can
62 also specify a list of directories that should be searched before looking
63 in the current working directory. Do this by putting a <code>\@INCLUDE_PATH</code> tag
64 with these paths before the <code>\@INCLUDE</code> tag, e.g.:
66 @INCLUDE_PATH = my_config_dir
69 The configuration options can be divided into several categories.
70 Below is an alphabetical index of the tags that are recognized
71 followed by the descriptions of the tags grouped by category.
74 <docs doxywizard='0' documentation='0'>
76 This file describes the settings to be used by the documentation system
77 doxygen (www.doxygen.org) for a project.
79 All text after a double hash (##) is considered a comment and is placed
80 in front of the TAG it is preceding.<br>
81 All text after a single hash (#) is considered a comment and will be ignored.
84 TAG = value [value, ...]
86 For lists, items can also be appended using:
88 TAG += value [value, ...]
90 Values that contain spaces should be placed between quotes (\" \").
93 Use doxygen to compare the used configuration file with the template configuration file:
95 doxygen -x [configFile]
97 Use doxygen to compare the used configuration file with the template configuration file
98 without replacing the environment variables or CMake type replacement variables:
100 doxygen -x_noenv [configFile]
106 <docs doxywizard='0' doxyfile='0'>
108 \section config_examples Examples
110 Suppose you have a simple project consisting of two files: a source file
111 \c example.cc and a header file \c example.h.
112 Then a minimal configuration file is as simple as:
114 INPUT = example.cc example.h
117 Assuming the example makes use of Qt classes and \c perl is located
118 in <code>/usr/bin</code>, a more realistic configuration file would be:
120 PROJECT_NAME = Example
121 INPUT = example.cc example.h
127 To generate the documentation for the
128 <a href="https://sourceforge.net/projects/qdbttabular/">QdbtTabular</a> package
129 I have used the following configuration file:
131 PROJECT_NAME = QdbtTabular
132 OUTPUT_DIRECTORY = html
134 INPUT = examples/examples.doc src
135 FILE_PATTERNS = *.cc *.h
136 INCLUDE_PATH = examples
141 To regenerate the Qt-1.44 documentation from the sources, you could use the
142 following configuration file:
145 OUTPUT_DIRECTORY = qt_docs
146 HIDE_UNDOC_MEMBERS = YES
147 HIDE_UNDOC_CLASSES = YES
148 ENABLE_PREPROCESSING = YES
149 MACRO_EXPANSION = YES
150 EXPAND_ONLY_PREDEF = YES
151 SEARCH_INCLUDES = YES
152 FULL_PATH_NAMES = YES
153 STRIP_FROM_PATH = $(QTDIR)/
154 PREDEFINED = USE_TEMPLATECLASS Q_EXPORT= \
160 QPtrDictT:=QPtrDict \
161 QIntDictT:=QIntDict \
163 QDictIteratorT:=QDictIterator \
164 QListIteratorT:=QListIterator \
166 QCacheIteratorT:=QCacheIterator \
167 QIntCacheT:=QIntCache \
168 QIntCacheIteratorT:=QIntCacheIterator \
169 QIntDictIteratorT:=QIntDictIterator \
170 QPtrDictIteratorT:=QPtrDictIterator
171 INPUT = $(QTDIR)/doc \
172 $(QTDIR)/src/widgets \
173 $(QTDIR)/src/kernel \
174 $(QTDIR)/src/dialogs \
176 FILE_PATTERNS = *.cpp *.h q*.doc
177 INCLUDE_PATH = $(QTDIR)/include
181 For the Qt-2.1 sources I recommend to use the following settings:
185 HIDE_UNDOC_MEMBERS = YES
186 HIDE_UNDOC_CLASSES = YES
189 FILE_PATTERNS = *.cpp *.h q*.doc
191 EXCLUDE_PATTERNS = *codec.cpp moc_* */compat/* */3rdparty/*
192 ALPHABETICAL_INDEX = YES
194 ENABLE_PREPROCESSING = YES
195 MACRO_EXPANSION = YES
196 INCLUDE_PATH = $(QTDIR)/include
197 PREDEFINED = Q_PROPERTY(x)= \
201 "QT_STATIC_CONST=static const " \
204 EXPAND_ONLY_PREDEF = YES
205 EXPAND_AS_DEFINED = Q_OBJECT_FAKE Q_OBJECT ACTIVATE_SIGNAL_WITH_PARAM \
209 Here doxygen's preprocessor is used to substitute some
210 macro names that are normally substituted by the C preprocessor,
211 but without doing full macro expansion.
215 Go to the <a href="commands.html">next</a> section or return to the
216 <a href="index.html">index</a>.
224 <group name='Project' docs='Project related configuration options'>
225 <option type='string' id='DOXYFILE_ENCODING' format='string' defval='UTF-8'>
228 This tag specifies the encoding used for all characters in the configuration file that
229 follow. The default is UTF-8 which is also the encoding used for all text before
230 the first occurrence of this tag. Doxygen uses \c libiconv (or the iconv built into
231 \c libc) for the transcoding. See https://www.gnu.org/software/libiconv/ for the list of
236 <option type='string' id='PROJECT_NAME' format='string' defval='My Project'>
239 The \c PROJECT_NAME tag is a single word (or a sequence of words
240 surrounded by double-quotes, unless you are using Doxywizard) that should identify the project for which the
241 documentation is generated. This name is used in the title of most
242 generated pages and in a few other places.
246 <option type='string' id='PROJECT_NUMBER' format='string' defval=''>
249 The \c PROJECT_NUMBER tag can be used to enter a project or revision number.
250 This could be handy for archiving the generated documentation or
251 if some version control system is used.
255 <option type='string' id='PROJECT_BRIEF' format='string' defval=''>
258 Using the \c PROJECT_BRIEF tag one can provide an optional one line description
259 for a project that appears at the top of each page and should give viewer
260 a quick idea about the purpose of the project. Keep the description short.
265 <option type='string' id='PROJECT_LOGO' format='image' defval=''>
268 With the \c PROJECT_LOGO tag one can specify a logo or an icon that is
269 included in the documentation. The maximum height of the logo should not
270 exceed 55 pixels and the maximum width should not exceed 200 pixels.
271 Doxygen will copy the logo to the output directory.
275 <option type='string' id='OUTPUT_DIRECTORY' format='dir' defval=''>
278 The \c OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
279 path into which the generated documentation will be written.
280 If a relative path is entered, it will be relative to the location
281 where doxygen was started. If left blank the current directory will be used.
285 <option type='bool' id='CREATE_SUBDIRS' defval='0'>
288 If the \c CREATE_SUBDIRS tag is set to \c YES then doxygen will create
289 up to 4096 sub-directories (in 2 levels) under the output directory of each output
290 format and will distribute the generated files over these directories.
291 Enabling this option can be useful when feeding doxygen a huge amount of source
292 files, where putting all generated files in the same directory would otherwise
293 causes performance problems for the file system.
294 Adapt \c CREATE_SUBDIRS_LEVEL to control the number of sub-directories.
298 <option type='int' id='CREATE_SUBDIRS_LEVEL' minval='0' maxval='8' defval='8'
299 depends='CREATE_SUBDIRS'>
302 Controls the number of sub-directories that will be created when \c CREATE_SUBDIRS tag
303 is set to \c YES. Level 0 represents 16 directories, and every level increment
304 doubles the number of directories, resulting in 4096 directories at level 8 which is the
305 default and also the maximum value. The sub-directories are organized in 2 levels, the first
306 level always has a fixed numer of 16 directories.
310 <option type='bool' id='ALLOW_UNICODE_NAMES' defval='0'>
313 If the \c ALLOW_UNICODE_NAMES tag is set to \c YES,
314 doxygen will allow non-ASCII characters to appear in the names of generated files.
315 If set to \c NO, non-ASCII characters will be escaped, for example _xE3_x81_x84
316 will be used for Unicode U+3044.
320 <option type='enum' id='OUTPUT_LANGUAGE' defval='English'>
323 The \c OUTPUT_LANGUAGE tag is used to specify the language in which all
324 documentation generated by doxygen is written. Doxygen will use this
325 information to generate all constant output in the proper language.
328 <value name='Afrikaans'/>
329 <value name='Arabic'/>
330 <value name='Armenian'/>
331 <value name='Brazilian'/>
332 <value name='Bulgarian'/>
333 <value name='Catalan'/>
334 <value name='Chinese'/>
335 <value name='Chinese-Traditional'/>
336 <value name='Croatian'/>
337 <value name='Czech'/>
338 <value name='Danish'/>
339 <value name='Dutch'/>
340 <value name='English' desc='(United States)'/>
341 <value name='Esperanto'/>
342 <value name='Farsi' desc='(Persian)'/>
343 <value name='Finnish'/>
344 <value name='French'/>
345 <value name='German'/>
346 <value name='Greek'/>
347 <value name='Hindi'/>
348 <value name='Hungarian'/>
349 <value name='Indonesian'/>
350 <value name='Italian'/>
351 <value name='Japanese'/>
352 <value name='Japanese-en' desc='(Japanese with English messages)'/>
353 <value name='Korean'/>
354 <value name='Korean-en' desc='(Korean with English messages)'/>
355 <value name='Latvian'/>
356 <value name='Lithuanian'/>
357 <value name='Macedonian'/>
358 <value name='Norwegian'/>
359 <value name='Persian' desc='(Farsi)'/>
360 <value name='Polish'/>
361 <value name='Portuguese'/>
362 <value name='Romanian'/>
363 <value name='Russian'/>
364 <value name='Serbian'/>
365 <value name='Serbian-Cyrillic'/>
366 <value name='Slovak'/>
367 <value name='Slovene'/>
368 <value name='Spanish'/>
369 <value name='Swedish'/>
370 <value name='Turkish'/>
371 <value name='Ukrainian'/>
372 <value name='Vietnamese'/>
374 <option type='bool' id='BRIEF_MEMBER_DESC' defval='1'>
377 If the \c BRIEF_MEMBER_DESC tag is set to \c YES, doxygen will
378 include brief member descriptions after the members that are listed in
379 the file and class documentation (similar to \c Javadoc).
380 Set to \c NO to disable this.
384 <option type='bool' id='REPEAT_BRIEF' defval='1'>
387 If the \c REPEAT_BRIEF tag is set to \c YES, doxygen will
388 prepend the brief description of a member or function before the detailed
391 If both \ref cfg_hide_undoc_members "HIDE_UNDOC_MEMBERS" and
392 \ref cfg_brief_member_desc "BRIEF_MEMBER_DESC" are set to \c NO, the
393 brief descriptions will be completely suppressed.
397 <option type='list' id='ABBREVIATE_BRIEF' format='string'>
400 This tag implements a quasi-intelligent brief description abbreviator
401 that is used to form the text in various listings. Each string
402 in this list, if found as the leading text of the brief description, will be
403 stripped from the text and the result, after processing the whole list, is used
404 as the annotated text. Otherwise, the brief description is used as-is. If left
405 blank, the following values are used (`$name` is automatically replaced with the
409 <value name='The $name class'/>
410 <value name='The $name widget'/>
411 <value name='The $name file'/>
413 <value name='provides'/>
414 <value name='specifies'/>
415 <value name='contains'/>
416 <value name='represents'/>
421 <option type='bool' id='ALWAYS_DETAILED_SEC' defval='0'>
424 If the \c ALWAYS_DETAILED_SEC and \ref cfg_repeat_brief "REPEAT_BRIEF" tags
425 are both set to \c YES then
426 doxygen will generate a detailed section even if there is only a brief
431 <option type='bool' id='INLINE_INHERITED_MEMB' defval='0'>
434 If the \c INLINE_INHERITED_MEMB tag is set to \c YES, doxygen will show all inherited
435 members of a class in the documentation of that class as if those members were
436 ordinary class members. Constructors, destructors and assignment operators of
437 the base classes will not be shown.
441 <option type='bool' id='FULL_PATH_NAMES' defval='1'>
444 If the \c FULL_PATH_NAMES tag is set to \c YES, doxygen will prepend the full
445 path before files name in the file list and in the header files. If set
446 to \c NO the shortest path that makes the file name unique will be used
450 <option type='list' id='STRIP_FROM_PATH' format='dir' depends='FULL_PATH_NAMES'>
453 The \c STRIP_FROM_PATH tag
454 can be used to strip a user-defined part of the path. Stripping is
455 only done if one of the specified strings matches the left-hand part of the
456 path. The tag can be used to show relative paths in the file list.
457 If left blank the directory from which doxygen is run is used as the
459 <br>Note that you can specify absolute paths here, but also
460 relative paths, which will be relative from the directory where doxygen is
465 <option type='list' id='STRIP_FROM_INC_PATH' format='dir'>
468 The \c STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
469 the path mentioned in the documentation of a class, which tells
470 the reader which header file to include in order to use a class.
471 If left blank only the name of the header file containing the class
472 definition is used. Otherwise one should specify the list of include paths that
473 are normally passed to the compiler using the `-I` flag.
477 <option type='bool' id='SHORT_NAMES' defval='0'>
480 If the \c SHORT_NAMES tag is set to \c YES, doxygen will generate much shorter
481 (but less readable) file names. This can be useful is your file systems
482 doesn't support long names like on DOS, Mac, or CD-ROM.
486 <option type='bool' id='JAVADOC_AUTOBRIEF' defval='0'>
489 If the \c JAVADOC_AUTOBRIEF tag is set to \c YES then doxygen
490 will interpret the first line (until the first dot) of a Javadoc-style
491 comment as the brief description. If set to \c NO, the
492 Javadoc-style will behave just like regular Qt-style comments
493 (thus requiring an explicit \ref cmdbrief "\@brief" command for a brief description.)
497 <option type='bool' id='JAVADOC_BANNER' defval='0'>
500 If the \c JAVADOC_BANNER tag is set to \c YES then doxygen
501 will interpret a line such as \verbatim /***************\endverbatim as being the
502 beginning of a Javadoc-style comment "banner". If set to \c NO, the
503 Javadoc-style will behave just like regular comments and it will
504 not be interpreted by doxygen.
508 <option type='bool' id='QT_AUTOBRIEF' defval='0'>
511 If the \c QT_AUTOBRIEF tag is set to \c YES then doxygen
512 will interpret the first line (until the first dot) of a Qt-style
513 comment as the brief description. If set to \c NO, the
514 Qt-style will behave just like regular Qt-style comments (thus
515 requiring an explicit \ref cmdbrief "\\brief" command for a brief description.)
519 <option type='bool' id='MULTILINE_CPP_IS_BRIEF' defval='0'>
522 The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make doxygen
523 treat a multi-line C++ special comment block (i.e. a block of \c //! or \c ///
524 comments) as a brief description. This used to be the default behavior.
525 The new default is to treat a multi-line C++ comment block as a detailed
526 description. Set this tag to \c YES if you prefer the old behavior instead.
527 <br>Note that setting this tag to \c YES also means that rational rose comments
528 are not recognized any more.
532 <option type='bool' id='PYTHON_DOCSTRING' defval='1'>
535 By default Python docstrings are displayed as preformatted text
536 and doxygen's special commands cannot be used. By setting \c PYTHON_DOCSTRING to
537 \c NO the doxygen's special commands can be used and the contents of the docstring
538 documentation blocks is shown as doxygen documentation.
542 <option type='bool' id='INHERIT_DOCS' defval='1'>
545 If the \c INHERIT_DOCS tag is set to \c YES then an undocumented
546 member inherits the documentation from any documented member that it
551 <option type='bool' id='SEPARATE_MEMBER_PAGES' defval='0'>
554 If the \c SEPARATE_MEMBER_PAGES tag is set to \c YES then doxygen will produce
555 a new page for each member. If set to \c NO, the documentation of a member will
556 be part of the file/class/namespace that contains it.
560 <option type='int' id='TAB_SIZE' minval='1' maxval='16' defval='4'>
563 The \c TAB_SIZE tag can be used to set the number of spaces in a tab.
564 Doxygen uses this value to replace tabs by spaces in code fragments.
568 <option type='list' id='ALIASES' format='string'>
571 This tag can be used to specify a number of aliases that act
572 as commands in the documentation. An alias has the form:
578 "sideeffect=@par Side Effects:^^"
581 put the command \c \\sideeffect (or \c \@sideeffect) in the documentation, which
582 will result in a user-defined paragraph with heading "Side Effects:".
583 Note that you cannot put \ref cmdn "\\n"'s in the value part of an alias to insert newlines
584 (in the resulting output).
585 You can put `^^` in the value part of an alias to insert a newline as if
586 a physical newline was in the original file.
589 <docs doxyfile='0' documentation='0'>
591 When you need a literal `{` or `}` or `,` in the value part of an alias you have to
592 escape them by means of a backslash, this can lead to conflicts with the
593 commands \c \\{ and \c \\} for these it is advised to use the version \c @{ and \c @} or
594 use a double escape (\c \\\\{ and \c \\\\})
597 <docs doxywizard='0' documentation='0'>
599 When you need a literal `{` or `}` or `,` in the value part of an alias you have to
600 escape them by means of a backslash (\c \\), this can lead to conflicts with the
601 commands \c \\{ and \c \\} for these it is advised to use the version \c @{ and \c @} or
602 use a double escape (\c \\\\{ and \c \\\\})
605 <docs doxyfile='0' doxywizard='0'>
607 When you need a literal `{` or `}` or `,` in the value part of an alias you have to
608 escape them by means of a backslash (`\`), this can lead to conflicts with the
609 commands \c \\{ and \c \\} for these it is advised to use the version \c @@{ and \c @@} or
610 use a double escape (\c \\\\{ and \c \\\\})
614 <option type='bool' id='OPTIMIZE_OUTPUT_FOR_C' defval='0'>
617 Set the \c OPTIMIZE_OUTPUT_FOR_C tag to \c YES if your project consists
618 of C sources only. Doxygen will then generate output that is more tailored
619 for C. For instance, some of the names that are used will be different.
620 The list of all members will be omitted, etc.
624 <option type='bool' id='OPTIMIZE_OUTPUT_JAVA' defval='0'>
627 Set the \c OPTIMIZE_OUTPUT_JAVA tag to \c YES if your project consists of Java or
628 Python sources only. Doxygen will then generate output that is more tailored
629 for that language. For instance, namespaces will be presented as packages,
630 qualified scopes will look different, etc.
634 <option type='bool' id='OPTIMIZE_FOR_FORTRAN' defval='0'>
637 Set the \c OPTIMIZE_FOR_FORTRAN tag to \c YES if your project consists of Fortran
638 sources. Doxygen will then generate output that is tailored for Fortran.
642 <option type='bool' id='OPTIMIZE_OUTPUT_VHDL' defval='0'>
645 Set the \c OPTIMIZE_OUTPUT_VHDL tag to \c YES if your project consists of VHDL
646 sources. Doxygen will then generate output that is tailored for VHDL.
650 <option type='bool' id='OPTIMIZE_OUTPUT_SLICE' defval='0'>
653 Set the \c OPTIMIZE_OUTPUT_SLICE tag to \c YES if your project consists of Slice
654 sources only. Doxygen will then generate output that is more tailored
655 for that language. For instance, namespaces will be presented as modules,
656 types will be separated into more groups, etc.
660 <option type='list' id='EXTENSION_MAPPING' format='string'>
663 Doxygen selects the parser to use depending on the extension of the files it parses.
664 With this tag you can assign which parser to use for a given extension.
665 Doxygen has a built-in mapping, but you can override or extend it using this tag.
666 The format is <code>ext=language</code>, where \c ext is a file extension, and language is one of
667 the parsers supported by doxygen: IDL, Java, JavaScript, Csharp (C#), C, C++, Lex, D, PHP,
668 md (Markdown), Objective-C, Python, Slice, VHDL, Fortran (fixed format Fortran: FortranFixed,
669 free formatted Fortran: FortranFree, unknown formatted Fortran: Fortran. In
670 the later case the parser tries to guess whether the code is fixed or free
671 formatted code, this is the default for Fortran type files).
673 For instance to make doxygen treat
674 <code>.inc</code> files as Fortran files (default is PHP), and <code>.f</code> files as C (default is Fortran),
675 use: `inc=Fortran f=C`.
677 <br>Note: For files without extension you can use `no_extension` as a placeholder.
678 <br>Note that for custom extensions you also need to set \ref cfg_file_patterns "FILE_PATTERNS" otherwise the
679 files are not read by doxygen. When specifying `no_extension` you should add `*`
680 to the \ref cfg_file_patterns "FILE_PATTERNS".
681 <br>Note see also the list of \ref default_file_extension_mapping "default file extension mappings".
685 <option type='bool' id='MARKDOWN_SUPPORT' defval='1'>
688 If the \c MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all
689 comments according to the Markdown format, which allows for more readable
690 documentation. See https://daringfireball.net/projects/markdown/ for details.
691 The output of markdown processing is further processed by doxygen, so you
692 can mix doxygen, HTML, and XML commands with Markdown formatting.
693 Disable only in case of backward compatibilities issues.
697 <option type='int' id='TOC_INCLUDE_HEADINGS' minval='0' maxval='99' defval='5' depends='MARKDOWN_SUPPORT'>
700 When the \c TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings
701 up to that level are automatically included in the table of contents, even if
702 they do not have an id attribute.
703 \note This feature currently applies only to Markdown headings.
707 <option type='bool' id='AUTOLINK_SUPPORT' defval='1'>
710 When enabled doxygen tries to link words that correspond to documented classes,
711 or namespaces to their corresponding documentation. Such a link can be
712 prevented in individual cases by putting a \c % sign in front of the word or
713 globally by setting \c AUTOLINK_SUPPORT to \c NO.
717 <option type='bool' id='BUILTIN_STL_SUPPORT' defval='0'>
720 If you use STL classes (i.e. `std::string`, `std::vector`, etc.) but do not want to
721 include (a tag file for) the STL sources as input, then you should
722 set this tag to \c YES in order to let doxygen match functions declarations and
723 definitions whose arguments contain STL classes (e.g. `func(std::string`); versus
724 `func(std::string) {}`). This also make the inheritance and collaboration
725 diagrams that involve STL classes more complete and accurate.
729 <option type='bool' id='CPP_CLI_SUPPORT' defval='0'>
732 If you use Microsoft's C++/CLI language, you should set this option to \c YES to
733 enable parsing support.
737 <option type='bool' id='SIP_SUPPORT' defval='0'>
740 Set the \c SIP_SUPPORT tag to \c YES if your project consists
741 of <a href="https://www.riverbankcomputing.com/software/sip/intro">sip</a> sources only.
742 Doxygen will parse them like normal C++ but will assume all classes use public
743 instead of private inheritance when no explicit protection keyword is present.
747 <option type='bool' id='IDL_PROPERTY_SUPPORT' defval='1'>
750 For Microsoft's IDL there are \c propget and \c propput attributes to indicate getter
751 and setter methods for a property. Setting this option to \c YES
752 will make doxygen to replace the get and set methods by a property in the
753 documentation. This will only work if the methods are indeed getting or
754 setting a simple type. If this is not the case, or you want to show the
755 methods anyway, you should set this option to \c NO.
759 <option type='bool' id='DISTRIBUTE_GROUP_DOC' defval='0'>
762 If member grouping is used in the documentation and the \c DISTRIBUTE_GROUP_DOC
763 tag is set to \c YES then doxygen will reuse the documentation of the first
764 member in the group (if any) for the other members of the group. By default
765 all members of a group must be documented explicitly.
769 <option type='bool' id='GROUP_NESTED_COMPOUNDS' defval='0'>
772 If one adds a struct or class to a group and this option is enabled, then also
773 any nested class or struct is added to the same group. By default this option
774 is disabled and one has to add nested compounds explicitly via \ref cmdingroup "\\ingroup".
778 <option type='bool' id='SUBGROUPING' defval='1'>
781 Set the \c SUBGROUPING tag to \c YES to allow class member groups of
782 the same type (for instance a group of public functions) to be put as a
783 subgroup of that type (e.g. under the Public Functions section). Set it to
784 \c NO to prevent subgrouping. Alternatively, this can be done per class using
785 the \ref cmdnosubgrouping "\\nosubgrouping" command.
789 <option type='bool' id='INLINE_GROUPED_CLASSES' defval='0'>
792 When the \c INLINE_GROUPED_CLASSES tag is set to \c YES, classes, structs and
793 unions are shown inside the group in which they are included
794 (e.g. using \ref cmdingroup "\\ingroup") instead of on a separate page (for HTML and Man pages)
795 or section (for \f$\mbox{\LaTeX}\f$ and RTF).
796 <br>Note that this feature does not work in
797 combination with \ref cfg_separate_member_pages "SEPARATE_MEMBER_PAGES".
801 <option type='bool' id='INLINE_SIMPLE_STRUCTS' defval='0'>
804 When the \c INLINE_SIMPLE_STRUCTS tag is set to \c YES, structs, classes, and
805 unions with only public data fields or simple typedef fields will be shown
806 inline in the documentation of the scope in which they are defined (i.e. file,
807 namespace, or group documentation), provided this scope is documented. If set
808 to \c NO, structs, classes, and unions are shown on a separate
809 page (for HTML and Man pages) or section (for \f$\mbox{\LaTeX}\f$ and RTF).
813 <option type='bool' id='TYPEDEF_HIDES_STRUCT' defval='0'>
816 When \c TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or enum
817 is documented as struct, union, or enum with the name of the typedef. So
818 <code>typedef struct TypeS {} TypeT</code>, will appear in the documentation as a struct
819 with name \c TypeT. When disabled the typedef will appear as a member of a file,
820 namespace, or class. And the struct will be named \c TypeS. This can typically
821 be useful for C code in case the coding convention dictates that all compound
822 types are typedef'ed and only the typedef is referenced, never the tag name.
826 <option type='int' id='LOOKUP_CACHE_SIZE' minval='0' maxval='9' defval='0'>
827 <!-- be careful when changing these formulas as they are hard coded in the conversion script -->
830 The size of the symbol lookup cache can be
831 set using \c LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
832 their name and scope. Since this can be an expensive process and often the
833 same symbol appears multiple times in the code, doxygen keeps a cache of
834 pre-resolved symbols. If the cache is too small doxygen will become slower.
835 If the cache is too large, memory is wasted. The cache size is given by this
836 formula: \f$2^{(16+\mbox{LOOKUP\_CACHE\_SIZE})}\f$. The valid range is 0..9, the default is 0,
837 corresponding to a cache size of \f$2^{16} = 65536\f$ symbols.
838 At the end of a run doxygen will report the cache usage and suggest the
839 optimal cache size from a speed point of view.
843 <option type='int' id='NUM_PROC_THREADS' defval='1' minval='0' maxval='32'>
846 The \c NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use during
847 processing. When set to \c 0 doxygen will based this on the number of cores
848 available in the system. You can set it explicitly to a value larger than 0
849 to get more control over the balance between CPU load and processing speed.
850 At this moment only the input processing can be done using multiple threads.
851 Since this is still an experimental feature the default is set to 1,
852 which effectively disables parallel processing. Please report any issues you
854 Generating dot graphs in parallel is controlled by the \c DOT_NUM_THREADS setting.
859 <group name='Build' docs='Build related configuration options'>
860 <option type='bool' id='EXTRACT_ALL' defval='0'>
863 If the \c EXTRACT_ALL tag is set to \c YES, doxygen will assume all
864 entities in documentation are documented, even if no documentation was
865 available. Private class members and static file members will be hidden
866 unless the \ref cfg_extract_private "EXTRACT_PRIVATE" respectively
867 \ref cfg_extract_static "EXTRACT_STATIC" tags are set to \c YES.
869 \note This will also disable the warnings about undocumented members
870 that are normally produced when \ref cfg_warnings "WARNINGS" is
875 <option type='bool' id='EXTRACT_PRIVATE' defval='0'>
878 If the \c EXTRACT_PRIVATE tag is set to \c YES, all private members of a
879 class will be included in the documentation.
883 <option type='bool' id='EXTRACT_PRIV_VIRTUAL' defval='0'>
886 If the \c EXTRACT_PRIV_VIRTUAL tag is set to \c YES, documented private
887 virtual methods of a class will be included in the documentation.
891 <option type='bool' id='EXTRACT_PACKAGE' defval='0'>
894 If the \c EXTRACT_PACKAGE tag is set to \c YES, all members with package
895 or internal scope will be included in the documentation.
899 <option type='bool' id='EXTRACT_STATIC' defval='0'>
902 If the \c EXTRACT_STATIC tag is set to \c YES, all static members of a file
903 will be included in the documentation.
907 <option type='bool' id='EXTRACT_LOCAL_CLASSES' defval='1'>
910 If the \c EXTRACT_LOCAL_CLASSES tag is set to \c YES, classes (and structs)
911 defined locally in source files will be included in the documentation.
912 If set to \c NO, only classes defined in header files are included. Does not
913 have any effect for Java sources.
917 <option type='bool' id='EXTRACT_LOCAL_METHODS' defval='0'>
920 This flag is only useful for Objective-C code. If set to \c YES, local
921 methods, which are defined in the implementation section but not in
922 the interface are included in the documentation.
923 If set to \c NO, only methods in the interface are included.
927 <option type='bool' id='EXTRACT_ANON_NSPACES' defval='0'>
930 If this flag is set to \c YES, the members of anonymous namespaces will be extracted
931 and appear in the documentation as a namespace called 'anonymous_namespace{file}',
932 where file will be replaced with the base name of the file that contains the anonymous
933 namespace. By default anonymous namespace are hidden.
937 <option type='bool' id='RESOLVE_UNNAMED_PARAMS' defval='1'>
940 If this flag is set to \c YES, the name of an unnamed parameter in a declaration will be
941 determined by the corresponding definition. By default unnamed parameters remain unnamed
946 <option type='bool' id='HIDE_UNDOC_MEMBERS' defval='0'>
949 If the \c HIDE_UNDOC_MEMBERS tag is set to \c YES, doxygen will hide all
950 undocumented members inside documented classes or files.
951 If set to \c NO these members will be included in the
952 various overviews, but no documentation section is generated.
953 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
957 <option type='bool' id='HIDE_UNDOC_CLASSES' defval='0'>
960 If the \c HIDE_UNDOC_CLASSES tag is set to \c YES, doxygen will hide all
961 undocumented classes that are normally visible in the class hierarchy.
962 If set to \c NO, these classes will be included in the
964 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
968 <option type='bool' id='HIDE_FRIEND_COMPOUNDS' defval='0'>
971 If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, doxygen will hide all
973 If set to \c NO, these declarations will be included in the
978 <option type='bool' id='HIDE_IN_BODY_DOCS' defval='0'>
981 If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, doxygen will hide any
982 documentation blocks found inside the body of a function.
983 If set to \c NO, these blocks will be appended to the
984 function's detailed documentation block.
988 <option type='bool' id='INTERNAL_DOCS' defval='0'>
991 The \c INTERNAL_DOCS tag determines if documentation
992 that is typed after a \ref cmdinternal "\\internal" command is included. If the tag is set
993 to \c NO then the documentation will be excluded.
994 Set it to \c YES to include the internal documentation.
998 <option type='enum' id='CASE_SENSE_NAMES' defval='SYSTEM'>
1001 With the correct setting of option \c CASE_SENSE_NAMES doxygen will better be able to match the
1002 capabilities of the underlying filesystem.
1004 In case the filesystem is case sensitive (i.e. it supports files in the same directory
1005 whose names only differ in casing), the option must be set to \c YES to properly deal with such files
1006 in case they appear in the input.
1008 For filesystems that are not case sensitive the option should be set to \c NO to properly
1009 deal with output files written for symbols that only differ in casing, such as for two classes,
1010 one named \c CLASS and the other named \c Class, and to also support references to files without
1011 having to specify the exact matching casing.
1013 On Windows (including Cygwin) and MacOS, users should typically set this option to \c NO,
1014 whereas on Linux or other Unix flavors it should typically be set to \c YES.
1017 <value name="SYSTEM" />
1019 <value name="YES" />
1021 <option type='bool' id='HIDE_SCOPE_NAMES' defval='0'>
1024 If the \c HIDE_SCOPE_NAMES tag is set to \c NO then doxygen
1025 will show members with their full class and namespace scopes in the
1026 documentation. If set to \c YES, the scope will be hidden.
1030 <option type='bool' id='HIDE_COMPOUND_REFERENCE' defval='0'>
1033 If the \c HIDE_COMPOUND_REFERENCE tag is set to \c NO (default) then
1034 doxygen will append additional text to a page's title, such as Class Reference.
1035 If set to \c YES the compound reference will be hidden.
1039 <option type='bool' id='SHOW_HEADERFILE' defval='1'>
1042 If the \c SHOW_HEADERFILE tag is set to \c YES then the documentation
1043 for a class will show which file needs to be included to use the class.
1047 <option type='bool' id='SHOW_INCLUDE_FILES' defval='1'>
1050 If the \c SHOW_INCLUDE_FILES tag is set to \c YES then doxygen
1051 will put a list of the files that are included by a file in the documentation
1056 <option type='bool' id='SHOW_GROUPED_MEMB_INC' defval='0'>
1059 If the SHOW_GROUPED_MEMB_INC tag is set to \c YES then Doxygen
1060 will add for each grouped member an include statement to the documentation,
1061 telling the reader which file to include in order to use the member.
1065 <option type='bool' id='FORCE_LOCAL_INCLUDES' defval='0'>
1068 If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then doxygen
1069 will list include files with double quotes in the documentation
1070 rather than with sharp brackets.
1074 <option type='bool' id='INLINE_INFO' defval='1'>
1077 If the \c INLINE_INFO tag is set to \c YES then a tag [inline]
1078 is inserted in the documentation for inline members.
1082 <option type='bool' id='SORT_MEMBER_DOCS' defval='1'>
1085 If the \c SORT_MEMBER_DOCS tag is set to \c YES then doxygen
1086 will sort the (detailed) documentation of file and class members
1087 alphabetically by member name. If set to \c NO, the members will appear in
1092 <option type='bool' id='SORT_BRIEF_DOCS' defval='0'>
1095 If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the
1096 brief descriptions of file, namespace and class members alphabetically
1097 by member name. If set to \c NO, the members will appear in
1098 declaration order. Note that this will also influence the order of the
1099 classes in the class list.
1103 <option type='bool' id='SORT_MEMBERS_CTORS_1ST' defval='0'>
1106 If the \c SORT_MEMBERS_CTORS_1ST tag is set to \c YES then doxygen
1107 will sort the (brief and detailed) documentation of class members so that
1108 constructors and destructors are listed first. If set to \c NO
1109 the constructors will appear in the respective orders defined by
1110 \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" and \ref cfg_sort_member_docs "SORT_MEMBER_DOCS".
1111 \note If \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" is set to \c NO this option is ignored for
1112 sorting brief member documentation.
1113 \note If \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" is set to \c NO this option is ignored for
1114 sorting detailed member documentation.
1118 <option type='bool' id='SORT_GROUP_NAMES' defval='0'>
1121 If the \c SORT_GROUP_NAMES tag is set to \c YES then doxygen will sort the
1122 hierarchy of group names into alphabetical order. If set to \c NO
1123 the group names will appear in their defined order.
1127 <option type='bool' id='SORT_BY_SCOPE_NAME' defval='0'>
1130 If the \c SORT_BY_SCOPE_NAME tag is set to \c YES, the class list will be
1131 sorted by fully-qualified names, including namespaces. If set to
1132 \c NO, the class list will be sorted only by class name,
1133 not including the namespace part.
1134 \note This option is not very useful if \ref cfg_hide_scope_names "HIDE_SCOPE_NAMES" is set to \c YES.
1135 \note This option applies only to the class list, not to the
1140 <option type='bool' id='STRICT_PROTO_MATCHING' defval='0'>
1143 If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to
1144 do proper type resolution of all parameters of a function it will reject a
1145 match between the prototype and the implementation of a member function even
1146 if there is only one candidate or it is obvious which candidate to choose
1147 by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen
1148 will still accept a match between prototype and implementation in such cases.
1152 <option type='bool' id='GENERATE_TODOLIST' defval='1'>
1155 The \c GENERATE_TODOLIST tag can be used to enable (\c YES) or
1156 disable (\c NO) the todo list. This list is created by
1157 putting \ref cmdtodo "\\todo" commands in the documentation.
1161 <option type='bool' id='GENERATE_TESTLIST' defval='1'>
1164 The \c GENERATE_TESTLIST tag can be used to enable (\c YES) or
1165 disable (\c NO) the test list. This list is created by
1166 putting \ref cmdtest "\\test" commands in the documentation.
1170 <option type='bool' id='GENERATE_BUGLIST' defval='1'>
1173 The \c GENERATE_BUGLIST tag can be used to enable (\c YES) or
1174 disable (\c NO) the bug list. This list is created by
1175 putting \ref cmdbug "\\bug" commands in the documentation.
1179 <option type='bool' id='GENERATE_DEPRECATEDLIST' defval='1'>
1182 The \c GENERATE_DEPRECATEDLIST tag can be used to enable (\c YES) or
1183 disable (\c NO) the deprecated list. This list is created by
1184 putting \ref cmddeprecated "\\deprecated"
1185 commands in the documentation.
1189 <option type='list' id='ENABLED_SECTIONS' format='string'>
1192 The \c ENABLED_SECTIONS tag can be used to enable conditional
1193 documentation sections, marked by \ref cmdif "\\if" \<section_label\> ...
1194 \ref cmdendif "\\endif" and \ref cmdcond "\\cond" \<section_label\> ...
1195 \ref cmdendcond "\\endcond" blocks.
1199 <option type='int' id='MAX_INITIALIZER_LINES' minval='0' maxval='10000' defval='30'>
1202 The \c MAX_INITIALIZER_LINES tag determines the maximum number of lines
1203 that the initial value of a variable or macro / define can have for it to appear in
1204 the documentation. If the initializer
1205 consists of more lines than specified here it will be hidden. Use a value
1206 of 0 to hide initializers completely. The appearance of the value of
1207 individual variables and macros / defines can be controlled using \ref cmdshowinitializer "\\showinitializer"
1208 or \ref cmdhideinitializer "\\hideinitializer" command in the documentation regardless of this setting.
1212 <option type='bool' id='SHOW_USED_FILES' defval='1'>
1215 Set the \c SHOW_USED_FILES tag to \c NO to disable the list of files generated
1216 at the bottom of the documentation of classes and structs. If set to \c YES, the
1217 list will mention the files that were used to generate the documentation.
1221 <option type='bool' id='SHOW_FILES' defval='1'>
1224 Set the \c SHOW_FILES tag to \c NO to disable the generation of the Files page.
1225 This will remove the Files entry from the Quick Index and from the
1226 Folder Tree View (if specified).
1230 <option type='bool' id='SHOW_NAMESPACES' defval='1'>
1233 Set the \c SHOW_NAMESPACES tag to \c NO to disable the generation of the
1234 Namespaces page. This will remove the Namespaces entry from the Quick Index
1235 and from the Folder Tree View (if specified).
1239 <option type='string' id='FILE_VERSION_FILTER' format='file' defval=''>
1242 The \c FILE_VERSION_FILTER tag can be used to specify a program or script that
1243 doxygen should invoke to get the current version for each file (typically from the
1244 version control system). Doxygen will invoke the program by executing (via
1245 <code>popen()</code>) the command <code>command input-file</code>, where \c command is
1246 the value of the \c FILE_VERSION_FILTER tag, and \c input-file is the name
1247 of an input file provided by doxygen.
1248 Whatever the program writes to standard output is used as the file version.
1251 <docs doxywizard='0' doxyfile='0'>
1255 Example of using a shell script as a filter for Unix:
1257 FILE_VERSION_FILTER = "/bin/sh versionfilter.sh"
1260 Example shell script for CVS:
1263 cvs status $1 | sed -n 's/^[ \]*Working revision:[ \t]*\([0-9][0-9\.]*\).*/\1/p'
1266 Example shell script for Subversion:
1269 svn stat -v $1 | sed -n 's/^[ A-Z?\*|!]\{1,15\}/r/;s/ \{1,15\}/\/r/;s/ .*//p'
1272 Example filter for ClearCase:
1274 FILE_VERSION_FILTER = "cleartool desc -fmt \%Vn"
1278 <docs documentation='0'>
1280 For an example see the documentation.
1284 <option type='string' id='LAYOUT_FILE' format='file' defval=''>
1287 The \c LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
1288 doxygen. The layout file controls the global structure of the generated output files
1289 in an output format independent way. To create the layout file that represents
1290 doxygen's defaults, run doxygen with the `-l` option. You can optionally specify a
1291 file name after the option, if omitted \c DoxygenLayout.xml will be used as the name
1293 See also section \ref layout for information.
1294 <br>Note that if you run doxygen from a directory containing
1295 a file called \c DoxygenLayout.xml, doxygen will parse it automatically even if
1296 the \c LAYOUT_FILE tag is left empty.
1300 <option type='list' id='CITE_BIB_FILES' format='file'>
1303 The \c CITE_BIB_FILES tag can be used to specify one or more \c bib files
1304 containing the reference definitions. This must be a list of <code>.bib</code> files. The
1305 <code>.bib</code> extension is automatically appended if omitted. This requires the
1306 \c bibtex tool to be installed. See also https://en.wikipedia.org/wiki/BibTeX for
1307 more info. For \f$\mbox{\LaTeX}\f$ the style of the bibliography can be controlled
1308 using \ref cfg_latex_bib_style "LATEX_BIB_STYLE".
1309 To use this feature you need \c bibtex and \c perl available in the search path.
1310 See also \ref cmdcite "\\cite" for info how to create references.
1315 <group name='Messages' docs='Configuration options related to warning and progress messages'>
1316 <option type='bool' id='QUIET' defval='0'>
1319 The \c QUIET tag can be used to turn on/off the messages that are generated
1320 to standard output by doxygen. If \c QUIET is set to \c YES this implies that the messages are off.
1324 <option type='bool' id='WARNINGS' defval='1'>
1327 The \c WARNINGS tag can be used to turn on/off the warning messages that are
1328 generated to standard error (\c stderr) by doxygen. If \c WARNINGS is set to
1329 \c YES this implies that the warnings are on.
1331 \b Tip: Turn warnings on while writing the documentation.
1335 <option type='bool' id='WARN_IF_UNDOCUMENTED' defval='1'>
1338 If the \c WARN_IF_UNDOCUMENTED tag is set to \c YES then doxygen will generate warnings
1339 for undocumented members. If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will
1340 automatically be disabled.
1344 <option type='bool' id='WARN_IF_DOC_ERROR' defval='1'>
1347 If the \c WARN_IF_DOC_ERROR tag is set to \c YES, doxygen will generate warnings for
1348 potential errors in the documentation, such as documenting some
1349 parameters in a documented function twice, or documenting parameters that
1350 don't exist or using markup commands wrongly.
1354 <option type='bool' id='WARN_IF_INCOMPLETE_DOC' defval='1'>
1357 If \c WARN_IF_INCOMPLETE_DOC is set to \c YES, doxygen will warn about
1358 incomplete function parameter documentation.
1359 If set to \c NO, doxygen will accept that some parameters have no
1360 documentation without warning.
1364 <option type='bool' id='WARN_NO_PARAMDOC' defval='0'>
1367 This \c WARN_NO_PARAMDOC option can be enabled to get warnings for
1368 functions that are documented, but have no documentation for their parameters
1369 or return value. If set to \c NO, doxygen will only warn about
1370 wrong parameter documentation, but not about the absence of
1372 If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will
1373 automatically be disabled.
1374 See also \ref cfg_warn_if_incomplete_doc "WARN_IF_INCOMPLETE_DOC"
1378 <option type='enum' id='WARN_AS_ERROR' defval='NO'>
1381 If the \c WARN_AS_ERROR tag is set to \c YES then doxygen will immediately stop
1382 when a warning is encountered.
1383 If the \c WARN_AS_ERROR tag is set to \c FAIL_ON_WARNINGS then doxygen will continue
1384 running as if \c WARN_AS_ERROR tag is set to \c NO, but at the end of the doxygen
1385 process doxygen will return with a non-zero status.
1389 <value name="YES" />
1390 <value name="FAIL_ON_WARNINGS" />
1392 <option type='string' id='WARN_FORMAT' format='string' defval='$file:$line: $text'>
1395 The \c WARN_FORMAT tag determines the format of the warning messages that
1396 doxygen can produce. The string should contain the <code>\$file</code>,
1397 <code>\$line</code>, and <code>\$text</code>
1398 tags, which will be replaced by the file and line number from which the
1399 warning originated and the warning text.
1400 Optionally the format may contain
1401 <code>$version</code>, which will be replaced by the version of the file (if it could
1402 be obtained via \ref cfg_file_version_filter "FILE_VERSION_FILTER")
1404 \sa \ref cfg_warn_line_format "WARN_LINE_FORMAT"
1408 <option type='string' id='WARN_LINE_FORMAT' format='string' defval='at line $line of file $file'>
1411 In the `$text` part of the \ref cfg_warn_format "WARN_FORMAT" command it is
1412 possible that a reference to a more specific place is given. To make it easier
1413 to jump to this place (outside of doxygen) the user can define a custom
1414 "cut" / "paste" string.
1418 WARN_LINE_FORMAT = "'vi $file +$line'"
1421 \sa \ref cfg_warn_format "WARN_FORMAT"
1425 <option type='string' id='WARN_LOGFILE' format='file' defval=''>
1428 The \c WARN_LOGFILE tag can be used to specify a file to which warning
1429 and error messages should be written. If left blank the output is written
1430 to standard error (`stderr`). In case the file specified cannot be opened for
1431 writing the warning and error messages are written to standard error. When as
1432 file `-` is specified the warning and error messages are written to standard output
1438 <group name='Input' docs='Configuration options related to the input files'>
1439 <option type='list' id='INPUT' format='filedir'>
1442 The \c INPUT tag is used to specify the files and/or directories that contain
1443 documented source files. You may enter file names like
1444 \c myfile.cpp or directories like \c /usr/src/myproject.
1445 Separate the files or directories with spaces. See also
1446 \ref cfg_file_patterns "FILE_PATTERNS" and
1447 \ref cfg_extension_mapping "EXTENSION_MAPPING"
1449 \note If this tag is empty the current directory is searched.
1453 <option type='string' id='INPUT_ENCODING' format='string' defval='UTF-8'>
1456 This tag can be used to specify the character encoding of the source files that
1457 doxygen parses. Internally doxygen uses the UTF-8 encoding.
1458 Doxygen uses `libiconv` (or the `iconv` built into `libc`) for the transcoding.
1459 See <a href="https://www.gnu.org/software/libiconv/">the libiconv documentation</a> for
1460 the list of possible encodings.
1462 \sa \ref cfg_input_file_encoding "INPUT_FILE_ENCODING"
1466 <option type='list' id='INPUT_FILE_ENCODING' format='string'>
1469 This tag can be used to specify the character encoding of the source files that doxygen
1471 The \c INPUT_FILE_ENCODING tag can be used to specify character encoding on a per file pattern
1472 basis. Doxygen will compare the file name with each pattern and apply the
1473 encoding instead of the default \ref cfg_input_encoding "INPUT_ENCODING") if there is a match.
1474 The character encodings are a list of the form: pattern=encoding (like `*.php=ISO-8859-1`).
1476 See cfg_input_encoding "INPUT_ENCODING" for further information on supported encodings.
1480 <option type='list' id='FILE_PATTERNS' format='string'>
1483 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
1484 \c FILE_PATTERNS tag to specify one or more wildcard patterns
1485 (like `*.cpp` and `*.h`) to filter out the source-files
1486 in the directories.<br>
1487 Note that for custom extensions or not directly supported extensions you also
1488 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1489 otherwise the files are not read by doxygen.<br>
1490 Note the list of default checked file patterns might differ from the list of
1491 \ref default_file_extension_mapping "default file extension mappings".<br>
1492 If left blank the following patterns are tested:
1496 <value name='*.cc'/>
1497 <value name='*.cxx'/>
1498 <value name='*.cpp'/>
1499 <value name='*.c++'/>
1500 <value name='*.java'/>
1501 <value name='*.ii'/>
1502 <value name='*.ixx'/>
1503 <value name='*.ipp'/>
1504 <value name='*.i++'/>
1505 <value name='*.inl'/>
1506 <value name='*.idl'/>
1507 <value name='*.ddl'/>
1508 <value name='*.odl'/>
1510 <value name='*.hh'/>
1511 <value name='*.hxx'/>
1512 <value name='*.hpp'/>
1513 <value name='*.h++'/>
1515 <value name='*.cs'/>
1517 <value name='*.php'/>
1518 <value name='*.php4'/>
1519 <value name='*.php5'/>
1520 <value name='*.phtml'/>
1521 <value name='*.inc'/>
1523 <value name='*.markdown'/>
1524 <value name='*.md'/>
1525 <value name='*.mm'/>
1526 <value name='*.dox' desc='(to be provided as doxygen C comment)'/>
1527 <value name='*.py'/>
1528 <value name='*.pyw'/>
1529 <value name='*.f90'/>
1530 <value name='*.f95'/>
1531 <value name='*.f03'/>
1532 <value name='*.f08'/>
1533 <value name='*.f18'/>
1535 <value name='*.for'/>
1536 <value name='*.vhd'/>
1537 <value name='*.vhdl'/>
1538 <value name='*.ucf'/>
1539 <value name='*.qsf'/>
1540 <value name='*.ice'/>
1542 <option type='bool' id='RECURSIVE' defval='0'>
1545 The \c RECURSIVE tag can be used to specify whether or not subdirectories
1546 should be searched for input files as well.
1550 <option type='list' id='EXCLUDE' format='filedir'>
1553 The \c EXCLUDE tag can be used to specify files and/or directories that should be
1554 excluded from the \ref cfg_input "INPUT" source files. This way you can easily exclude a
1555 subdirectory from a directory tree whose root is specified with the \ref cfg_input "INPUT" tag.
1556 <br>Note that relative paths are relative to the directory from which doxygen is run.
1560 <option type='bool' id='EXCLUDE_SYMLINKS' defval='0'>
1563 The \c EXCLUDE_SYMLINKS tag can be used to select whether or not files or directories
1564 that are symbolic links (a Unix file system feature) are excluded from the input.
1568 <option type='list' id='EXCLUDE_PATTERNS' format='string'>
1571 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
1572 \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
1573 certain files from those directories.
1574 <br>Note that the wildcards are matched
1575 against the file with absolute path, so to exclude all test directories
1576 for example use the pattern `*``/test/``*`
1580 <option type='list' id='EXCLUDE_SYMBOLS' format='string'>
1583 The \c EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
1584 (namespaces, classes, functions, etc.) that should be excluded from the
1585 output. The symbol name can be a fully qualified name, a word, or if the
1586 wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`,
1587 `ANamespace::AClass`, `ANamespace::*Test`
1588 <br>Note that the wildcards are matched against the file with absolute path,
1589 so to exclude all test directories use the pattern
1594 <option type='list' id='EXAMPLE_PATH' format='filedir'>
1597 The \c EXAMPLE_PATH tag can be used to specify one or more files or
1598 directories that contain example code fragments that are included (see
1599 the \ref cmdinclude "\\include" command).
1603 <option type='list' id='EXAMPLE_PATTERNS' format='string'>
1606 If the value of the \ref cfg_example_path "EXAMPLE_PATH" tag contains directories,
1608 \c EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like `*.cpp`
1609 and `*.h`) to filter out the source-files in the directories. If left
1610 blank all files are included.
1613 <value name='*' show_docu='NO'/>
1615 <option type='bool' id='EXAMPLE_RECURSIVE' defval='0'>
1618 If the \c EXAMPLE_RECURSIVE tag is set to \c YES then subdirectories will be
1619 searched for input files to be used with the \ref cmdinclude "\\include" or
1620 \ref cmddontinclude "\\dontinclude"
1621 commands irrespective of the value of the \ref cfg_recursive "RECURSIVE" tag.
1625 <option type='list' id='IMAGE_PATH' format='filedir'>
1628 The \c IMAGE_PATH tag can be used to specify one or more files or
1629 directories that contain images that are to be included in the
1630 documentation (see the \ref cmdimage "\\image" command).
1634 <option type='string' id='INPUT_FILTER' format='file' defval=''>
1637 The \c INPUT_FILTER tag can be used to specify a program that doxygen should
1638 invoke to filter for each input file. Doxygen will invoke the filter program
1639 by executing (via <code>popen()</code>) the command:
1641 <code>\<filter\> \<input-file\></code>
1643 where <code>\<filter\></code>
1644 is the value of the \c INPUT_FILTER tag, and <code>\<input-file\></code> is the name of an
1645 input file. Doxygen will then use the output that the filter program writes
1646 to standard output. If \ref cfg_filter_patterns "FILTER_PATTERNS" is specified, this tag will be ignored.
1647 <br>Note that the filter must not add or remove lines; it is applied before the
1648 code is scanned, but not when the output code is generated. If lines are added
1649 or removed, the anchors will not be placed correctly.
1650 <br>Note that doxygen will use the data processed and written to standard output for further processing,
1651 therefore nothing else, like debug statements or used commands (so in case of a Windows batch file
1652 always use `@echo OFF`), should be written to standard output.
1653 <br>Note that for custom extensions or not directly supported extensions you also
1654 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1655 otherwise the files are not properly processed by doxygen.<br>
1660 <option type='list' id='FILTER_PATTERNS' format='string'>
1663 The \c FILTER_PATTERNS tag can be used to specify filters on a per file pattern
1664 basis. Doxygen will compare the file name with each pattern and apply the
1665 filter if there is a match. The filters are a list of the form:
1666 pattern=filter (like `*.cpp=my_cpp_filter`). See \ref cfg_input_filter "INPUT_FILTER" for further
1667 information on how filters are used. If the \c FILTER_PATTERNS tag is empty or if
1668 none of the patterns match the file name, \ref cfg_input_filter "INPUT_FILTER" is
1670 <br>Note that for custom extensions or not directly supported extensions you also
1671 need to set \ref cfg_extension_mapping "EXTENSION_MAPPING" for the extension
1672 otherwise the files are not properly processed by doxygen.<br>
1676 <option type='bool' id='FILTER_SOURCE_FILES' defval='0'>
1679 If the \c FILTER_SOURCE_FILES tag is set to \c YES, the input filter (if set using
1680 \ref cfg_input_filter "INPUT_FILTER") will also be used to filter the input
1681 files that are used for producing the source files to browse
1682 (i.e. when \ref cfg_source_browser "SOURCE_BROWSER" is set to \c YES).
1686 <option type='list' id='FILTER_SOURCE_PATTERNS' format='string' depends='FILTER_SOURCE_FILES'>
1689 The \c FILTER_SOURCE_PATTERNS tag can be used to specify source filters per
1690 file pattern. A pattern will override the setting
1691 for \ref cfg_filter_patterns "FILTER_PATTERN" (if any)
1692 and it is also possible to disable source filtering for a specific pattern
1693 using `*.ext=` (so without naming a filter).
1697 <option type='string' id='USE_MDFILE_AS_MAINPAGE' format='string' defval=''>
1700 If the \c USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
1701 is part of the input, its contents will be placed on the main page (`index.html`).
1702 This can be useful if you have a project on for instance GitHub and want to reuse
1703 the introduction page also for the doxygen output.
1707 <option type='int' id='FORTRAN_COMMENT_AFTER' defval='72' minval='7' maxval='10000'>
1710 The Fortran standard specifies that for fixed formatted Fortran code all characters
1711 from position 72 are to be considered as comment. A common extension is to allow
1712 longer lines before the automatic comment starts.
1713 The setting \c FORTRAN_COMMENT_AFTER will also make it possible that longer lines can be
1714 processed before the automatic comment starts.
1719 <group name='Source_Browser' docs='Configuration options related to source browsing'>
1720 <option type='bool' id='SOURCE_BROWSER' defval='0'>
1723 If the \c SOURCE_BROWSER tag is set to \c YES then a list of source files will
1724 be generated. Documented entities will be cross-referenced with these sources.
1725 <br>Note: To get rid of all source code in the generated output, make sure that also
1726 \ref cfg_verbatim_headers "VERBATIM_HEADERS" is set to \c NO.
1730 <option type='bool' id='INLINE_SOURCES' defval='0'>
1733 Setting the \c INLINE_SOURCES tag to \c YES will include the body
1734 of functions, classes and enums directly into the documentation.
1738 <option type='bool' id='STRIP_CODE_COMMENTS' defval='1'>
1741 Setting the \c STRIP_CODE_COMMENTS tag to \c YES will instruct
1742 doxygen to hide any special comment blocks from generated source code
1743 fragments. Normal C, C++ and Fortran comments will always remain visible.
1747 <option type='bool' id='REFERENCED_BY_RELATION' defval='0'>
1750 If the \c REFERENCED_BY_RELATION tag is set to \c YES
1751 then for each documented entity all documented
1752 functions referencing it will be listed.
1756 <option type='bool' id='REFERENCES_RELATION' defval='0'>
1759 If the \c REFERENCES_RELATION tag is set to \c YES
1760 then for each documented function all documented entities
1761 called/used by that function will be listed.
1765 <option type='bool' id='REFERENCES_LINK_SOURCE' defval='1'>
1768 If the \c REFERENCES_LINK_SOURCE tag is set to \c YES
1769 and \ref cfg_source_browser "SOURCE_BROWSER" tag is set to \c YES then the hyperlinks from
1770 functions in \ref cfg_references_relation "REFERENCES_RELATION" and
1771 \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION" lists will
1772 link to the source code. Otherwise they will link to the documentation.
1776 <option type='bool' id='SOURCE_TOOLTIPS' defval='1' depends='SOURCE_BROWSER'>
1779 If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
1780 source code will show a tooltip with additional information such as prototype,
1781 brief description and links to the definition and documentation. Since this will
1782 make the HTML file larger and loading of large files a bit slower, you can opt
1783 to disable this feature.
1787 <option type='bool' id='USE_HTAGS' defval='0' depends='SOURCE_BROWSER'>
1790 If the \c USE_HTAGS tag is set to \c YES then the references to source code
1791 will point to the HTML generated by the \c htags(1) tool instead of doxygen
1792 built-in source browser. The \c htags tool is part of GNU's global source
1793 tagging system (see https://www.gnu.org/software/global/global.html). You
1794 will need version 4.8.6 or higher.
1796 To use it do the following:
1797 -# Install the latest version of \c global
1798 -# Enable \ref cfg_source_browser "SOURCE_BROWSER" and \c USE_HTAGS in the configuration file
1799 -# Make sure the \ref cfg_input "INPUT" points to the root of the source tree
1800 -# Run \c doxygen as normal
1802 Doxygen will invoke \c htags (and that will in turn invoke \c gtags), so these tools
1803 must be available from the command line (i.e. in the search path).
1805 The result: instead of the source browser generated by doxygen, the links to
1806 source code will now point to the output of \c htags.
1811 <option type='bool' id='VERBATIM_HEADERS' defval='1'>
1814 If the \c VERBATIM_HEADERS tag is set the \c YES then doxygen
1815 will generate a verbatim copy of the header file for each class for
1816 which an include is specified. Set to \c NO to disable this.
1817 \sa Section \ref cmdclass "\\class".
1821 <option type='bool' id='CLANG_ASSISTED_PARSING' setting='USE_LIBCLANG' defval='0'>
1824 If the \c CLANG_ASSISTED_PARSING tag is set to \c YES then doxygen will use the
1825 <a href="http://clang.llvm.org/">clang parser</a> for more accurate parsing
1826 at the cost of reduced performance. This can be particularly helpful with
1827 template rich C++ code for which doxygen's built-in parser lacks the
1828 necessary type information.
1830 @note The availability of this option depends on whether or not doxygen
1831 was generated with the `-Duse_libclang=ON` option for CMake.
1835 <option type='bool' id='CLANG_ADD_INC_PATHS' setting='USE_LIBCLANG' depends='CLANG_ASSISTED_PARSING' defval='1'>
1838 If the \c CLANG_ASSISTED_PARSING tag is set to \c YES and the \c CLANG_ADD_INC_PATHS
1839 tag is set to \c YES then doxygen will add the directory of each input to the
1844 <option type='list' id='CLANG_OPTIONS' format='string' setting='USE_LIBCLANG' depends='CLANG_ASSISTED_PARSING'>
1847 If clang assisted parsing is enabled you can provide the compiler with command
1848 line options that you would normally use when invoking the compiler. Note that
1849 the include paths will already be set by doxygen for the files and directories
1850 specified with \ref cfg_input "INPUT" and \ref cfg_include_path "INCLUDE_PATH".
1854 <option type='string' id='CLANG_DATABASE_PATH' setting='USE_LIBCLANG' defval=''>
1857 If clang assisted parsing is enabled you can provide the clang parser with the
1858 path to the directory containing a file called `compile_commands.json`.
1859 This file is the <a href="http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html">
1860 compilation database</a> containing the options used when the source files were built.
1861 This is equivalent to specifying the `-p` option to a clang tool, such as `clang-check`.
1862 These options will then be passed to the parser. Any options specified with
1863 \ref cfg_clang_options "CLANG_OPTIONS" will be added as well.
1865 @note The availability of this option depends on whether or not doxygen
1866 was generated with the `-Duse_libclang=ON` option for CMake.
1871 <group name='Index' docs='Configuration options related to the alphabetical class index'>
1872 <option type='bool' id='ALPHABETICAL_INDEX' defval='1'>
1875 If the \c ALPHABETICAL_INDEX tag is set to \c YES, an alphabetical index
1876 of all compounds will be generated. Enable this if the project contains
1877 a lot of classes, structs, unions or interfaces.
1881 <option type='list' id='IGNORE_PREFIX' format='string' depends='ALPHABETICAL_INDEX'>
1884 In case all classes in a project start with a common prefix, all classes will
1885 be put under the same header in the alphabetical index.
1886 The \c IGNORE_PREFIX tag can be used to specify a prefix
1887 (or a list of prefixes) that should be ignored while generating the index headers.
1892 <group name='HTML' docs='Configuration options related to the HTML output'>
1893 <option type='bool' id='GENERATE_HTML' defval='1'>
1896 If the \c GENERATE_HTML tag is set to \c YES, doxygen will
1897 generate HTML output
1901 <option type='string' id='HTML_OUTPUT' format='dir' defval='html' depends='GENERATE_HTML'>
1904 The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put.
1905 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
1910 <option type='string' id='HTML_FILE_EXTENSION' format='string' defval='.html' depends='GENERATE_HTML'>
1913 The \c HTML_FILE_EXTENSION tag can be used to specify the file extension for
1914 each generated HTML page (for example: <code>.htm, .php, .asp</code>).
1918 <option type='string' id='HTML_HEADER' format='file' defval='' depends='GENERATE_HTML'>
1921 The \c HTML_HEADER tag can be used to specify a user-defined HTML
1922 header file for each generated HTML page.
1923 If the tag is left blank doxygen will generate a
1926 To get valid HTML the header file that
1927 includes any scripts and style sheets that doxygen
1928 needs, which is dependent on the configuration options used (e.g. the
1929 setting \ref cfg_generate_treeview "GENERATE_TREEVIEW").
1930 It is highly recommended to start with a default header using
1932 doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFile
1934 and then modify the file \c new_header.html.
1936 See also section \ref doxygen_usage for information on how to generate
1937 the default header that doxygen normally uses.
1939 @note The header is subject to change so you typically
1940 have to regenerate the default header when upgrading to a newer version of
1944 <docs doxywizard='0' doxyfile='0'>
1946 The following markers have a special meaning inside the header and footer:
1948 <dt><code>$title</code><dd>will be replaced with the title of the page.
1949 <dt><code>$datetime</code><dd>will be replaced with current the date and time.
1950 <dt><code>$date</code><dd>will be replaced with the current date.
1951 <dt><code>$year</code><dd>will be replaces with the current year.
1952 <dt><code>$doxygenversion</code><dd>will be replaced with the version of doxygen
1953 <dt><code>$projectname</code><dd>will be replaced with the name of
1954 the project (see \ref cfg_project_name "PROJECT_NAME")
1955 <dt><code>$projectnumber</code><dd>will be replaced with the project number
1956 (see \ref cfg_project_number "PROJECT_NUMBER")
1957 <dt><code>$projectbrief</code><dd>will be replaced with the project brief
1958 description (see \ref cfg_project_brief "PROJECT_BRIEF")
1959 <dt><code>$projectlogo</code><dd>will be replaced with the project logo
1960 (see \ref cfg_project_logo "PROJECT_LOGO")
1961 <dt><code>$generatedby</code><dd>will be replaced with the output language dependent
1962 version of the text "Generated by" or when the
1963 \ref cfg_html_timestamp "HTML_TIMESTAMP" is set by the output language
1964 dependent version of the text "Generated on `$datetime` for `$projectname` by".
1965 <dt><code>$stylesheet</code><dd>will be replaced with the setting of
1966 \ref cfg_html_stylesheet "HTML_STYLESHEET" unless it is empty or the file in which case
1967 it is replaced by the default setting `doxygen.css`.
1968 <dt><code>$extrastylesheet</code><dd>will be replaced with the setting of
1969 \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" including the required
1970 HTML tags for each extra stylesheet.
1971 <dt><code>$treeview</code><dd>will be replaced with links to
1972 the javascript and style sheets needed for the navigation tree
1973 (or an empty string when \ref cfg_generate_treeview "GENERATE_TREEVIEW"
1975 <dt><code>$search</code><dd>will be replaced with a links to
1976 the javascript and style sheets needed for the search engine
1977 (or an empty string when \ref cfg_searchengine "SEARCHENGINE"
1979 <dt><code>$searchbox</code><dd>will be replaced with the HTML code needed for
1980 the search box to be shown
1981 (or an empty string when \ref cfg_searchengine "SEARCHENGINE"
1983 <dt><code>$mathjax</code><dd>will be replaced with a links to
1984 the javascript and style sheets needed for the MathJax feature
1985 (or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled).
1986 <dt><code>$relpath^</code><dd>
1987 If \ref cfg_create_subdirs "CREATE_SUBDIRS" is enabled, the command <code>$relpath^</code> can be
1988 used to produce a relative path to the root of the HTML output directory,
1989 e.g. use <code>$relpath^doxygen.css</code>, to refer to the standard style sheet.
1990 <dt><code>$navpath</code><dd>will be replaced with a path as required by
1991 \ref cfg_generate_treeview "GENERATE_TREEVIEW"
1994 To cope with differences in the layout of the header and footer that depend on
1995 configuration settings, the header can also contain special blocks that
1996 will be copied to the output or skipped depending on the configuration.
1997 Such blocks have the following form:
1999 <!--BEGIN BLOCKNAME-->
2000 Some context copied when condition BLOCKNAME holds
2001 <!--END BLOCKNAME-->
2002 <!--BEGIN !BLOCKNAME-->
2003 Some context copied when condition BLOCKNAME does not hold
2004 <!--END !BLOCKNAME-->
2006 The following block names are supported:
2008 <dt><code>DISABLE_INDEX</code><dd>Content within this block is copied to the output
2009 if the \ref cfg_disable_index "DISABLE_INDEX" option is enabled (so when the index is disabled).
2010 <dt><code>GENERATE_TREEVIEW</code><dd>Content within this block is copied to the output
2011 if the \ref cfg_generate_treeview "GENERATE_TREEVIEW" option is enabled.
2012 <dt><code>SEARCHENGINE</code><dd>Content within this block is copied to the output
2013 if the \ref cfg_searchengine "SEARCHENGINE" option is enabled.
2014 <dt><code>PROJECT_NAME</code><dd>Content within the block is copied to the output
2015 if the \ref cfg_project_name "PROJECT_NAME" option is not empty.
2016 <dt><code>PROJECT_NUMBER</code><dd>Content within the block is copied to the output
2017 if the \ref cfg_project_number "PROJECT_NUMBER" option is not empty.
2018 <dt><code>PROJECT_BRIEF</code><dd>Content within the block is copied to the output
2019 if the \ref cfg_project_brief "PROJECT_BRIEF" option is not empty.
2020 <dt><code>PROJECT_LOGO</code><dd>Content within the block is copied to the output
2021 if the \ref cfg_project_logo "PROJECT_LOGO" option is not empty.
2022 <dt><code>FULL_SIDEBAR</code><dd>Content within the block is copied to the output
2023 if the \ref cfg_full_sidebar "FULL_SIDEBAR",
2024 \ref cfg_disable_index "DISABLE_INDEX" and \ref cfg_generate_treeview "GENERATE_TREEVIEW"
2025 options are all enabled.
2026 <dt><code>TITLEAREA</code><dd>Content within this block is copied to the output
2027 if a title is visible at the top of each page. This is the case
2028 if either \ref cfg_project_name "PROJECT_NAME",
2029 \ref cfg_project_brief "PROJECT_BRIEF", \ref cfg_project_logo "PROJECT_LOGO"
2030 is filled in or if both \ref cfg_disable_index "DISABLE_INDEX" and
2031 \ref cfg_searchengine "SEARCHENGINE" are enabled.
2035 <docs documentation='0'>
2037 For a description of the possible markers and block names see the documentation.
2042 <option type='string' id='HTML_FOOTER' format='file' defval='' depends='GENERATE_HTML'>
2045 The \c HTML_FOOTER tag can be used to specify a user-defined HTML footer for
2046 each generated HTML page.
2047 If the tag is left blank doxygen will generate a standard footer.
2049 See \ref cfg_html_header "HTML_HEADER" for more information on
2050 how to generate a default footer and what special commands can be
2051 used inside the footer.
2053 See also section \ref doxygen_usage for information on how to generate
2054 the default footer that doxygen normally uses.
2058 <option type='string' id='HTML_STYLESHEET' format='file' defval='' depends='GENERATE_HTML'>
2061 The \c HTML_STYLESHEET tag can be used to specify a user-defined cascading
2062 style sheet that is used by each HTML page. It can be used to
2063 fine-tune the look of the HTML output. If left blank doxygen
2064 will generate a default style sheet.
2066 See also section \ref doxygen_usage for information on how to generate
2067 the style sheet that doxygen normally uses.
2069 \note It is recommended to use
2070 \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead of this tag,
2071 as it is more robust and
2072 this tag (<code>HTML_STYLESHEET</code>) will in the future become obsolete.
2076 <option type='list' id='HTML_EXTRA_STYLESHEET' format='file' defval='' depends='GENERATE_HTML'>
2079 The \c HTML_EXTRA_STYLESHEET tag can be used to specify additional
2080 user-defined cascading style sheets that are included after the standard
2081 style sheets created by doxygen. Using this option one can overrule
2082 certain style aspects. This is preferred over using \ref cfg_html_stylesheet "HTML_STYLESHEET"
2083 since it does not replace the standard style sheet and is therefore more
2084 robust against future updates. Doxygen will copy the style sheet files to
2085 the output directory.
2086 \note The order of the extra style sheet files is of importance (e.g. the last
2087 style sheet in the list overrules the setting of the previous ones in the list).
2090 <docs doxywizard='0' doxyfile='0'>
2092 Here is an example style sheet that gives the contents area a fixed width:
2095 background-color: #CCC;
2101 margin-bottom: 10px;
2106 background-color: white;
2111 background-color: white;
2119 background-color: #AAA;
2124 <docs documentation='0'>
2126 For an example see the documentation.
2130 <option type='list' id='HTML_EXTRA_FILES' format='file' depends='GENERATE_HTML'>
2133 The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or
2134 other source files which should be copied to the HTML output directory. Note
2135 that these files will be copied to the base HTML output directory. Use the
2136 <code>$relpath^</code> marker in the \ref cfg_html_header "HTML_HEADER" and/or
2137 \ref cfg_html_footer "HTML_FOOTER" files to load these
2138 files. In the \ref cfg_html_stylesheet "HTML_STYLESHEET" file, use the file name only. Also note that
2139 the files will be copied as-is; there are no commands or markers available.
2143 <option type='enum' id='HTML_COLORSTYLE' defval='AUTO_LIGHT' depends='GENERATE_HTML'>
2146 The \c HTML_COLORSTYLE tag can be used to specify if the generated HTML output should be rendered with
2147 a dark or light theme. Default setting \c AUTO_LIGHT enables light output unless the user preference is dark output.
2148 Other options are \c DARK to always use dark mode, \c LIGHT to always use light mode, \c AUTO_DARK to default to dark
2149 mode unless the user prefers light mode, and \c TOGGLE to let the user toggle between dark and light mode via a button.
2152 <value name="LIGHT" desc="Always generate light output."/>
2153 <value name="DARK" desc="Always generate dark output."/>
2154 <value name="AUTO_LIGHT" desc="Automatically set the mode according to the user preference, use light mode if no preference is set (the default)."/>
2155 <value name="AUTO_DARK" desc="Automatically set the mode according to the user preference, use dark mode if no preference is set."/>
2156 <value name="TOGGLE" desc="Allow to user to switch between light and dark mode via a button."/>
2158 <option type='int' id='HTML_COLORSTYLE_HUE' minval='0' maxval='359' defval='220' depends='GENERATE_HTML'>
2161 The \c HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
2162 Doxygen will adjust the colors in the style sheet and background images
2163 according to this color. Hue is specified as an angle on a color-wheel,
2164 see https://en.wikipedia.org/wiki/Hue for more information.
2165 For instance the value 0 represents red, 60 is yellow, 120 is green,
2166 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
2170 <option type='int' id='HTML_COLORSTYLE_SAT' minval='0' maxval='255' defval='100' depends='GENERATE_HTML'>
2173 The \c HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
2174 the colors in the HTML output. For a value of 0 the output will use
2175 gray-scales only. A value of 255 will produce the most vivid colors.
2179 <option type='int' id='HTML_COLORSTYLE_GAMMA' minval='40' maxval='240' defval='80' depends='GENERATE_HTML'>
2182 The \c HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
2183 the luminance component of the colors in the HTML output. Values below
2184 100 gradually make the output lighter, whereas values above 100 make
2185 the output darker. The value divided by 100 is the actual gamma applied,
2186 so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
2187 and 100 does not change the gamma.
2191 <option type='bool' id='HTML_TIMESTAMP' defval='0' depends='GENERATE_HTML'>
2194 If the \c HTML_TIMESTAMP tag is set to \c YES then the footer of
2195 each generated HTML page will contain the date and time when the page
2196 was generated. Setting this to \c YES can help to show when doxygen was last run
2197 and thus if the documentation is up to date.
2201 <option type='bool' id='HTML_DYNAMIC_MENUS' defval='1' depends='GENERATE_HTML'>
2204 If the \c HTML_DYNAMIC_MENUS tag is set to \c YES then the generated HTML
2205 documentation will contain a main index with vertical navigation menus that
2206 are dynamically created via JavaScript. If disabled, the navigation index will consists of
2207 multiple levels of tabs that are statically embedded in every HTML page.
2208 Disable this option to support browsers that do not have JavaScript, like
2209 the Qt help browser.
2213 <option type='bool' id='HTML_DYNAMIC_SECTIONS' defval='0' depends='GENERATE_HTML'>
2216 If the \c HTML_DYNAMIC_SECTIONS tag is set to \c YES then the generated HTML
2217 documentation will contain sections that can be hidden and shown after the
2222 <option type='int' id='HTML_INDEX_NUM_ENTRIES' minval='0' maxval='9999' defval='100' depends='GENERATE_HTML'>
2225 With \c HTML_INDEX_NUM_ENTRIES one can control the preferred number of
2226 entries shown in the various tree structured indices initially; the user
2227 can expand and collapse entries dynamically later on. Doxygen will expand
2228 the tree to such a level that at most the specified number of entries are
2229 visible (unless a fully collapsed tree already exceeds this amount).
2230 So setting the number of entries 1 will produce a full collapsed tree by
2231 default. 0 is a special value representing an infinite number of entries
2232 and will result in a full expanded tree by default.
2236 <option type='bool' id='GENERATE_DOCSET' defval='0' depends='GENERATE_HTML'>
2239 If the \c GENERATE_DOCSET tag is set to \c YES, additional index files
2240 will be generated that can be used as input for
2241 <a href="https://developer.apple.com/xcode/">Apple's Xcode 3
2242 integrated development environment</a>, introduced with OSX 10.5 (Leopard).
2243 To create a documentation set, doxygen will generate a Makefile in the
2244 HTML output directory. Running \c make will produce the docset in that
2245 directory and running <code>make install</code> will install the docset in
2246 <code>~/Library/Developer/Shared/Documentation/DocSets</code>
2247 so that Xcode will find it at startup. See
2248 https://developer.apple.com/library/archive/featuredarticles/DoxygenXcode/_index.html
2249 for more information.
2253 <option type='string' id='DOCSET_FEEDNAME' format='string' defval='Doxygen generated docs' depends='GENERATE_DOCSET'>
2256 This tag determines the name of the docset
2257 feed. A documentation feed provides an umbrella under which multiple
2258 documentation sets from a single provider (such as a company or product suite)
2263 <option type='string' id='DOCSET_FEEDURL' format='string' depends='GENERATE_DOCSET'>
2266 This tag determines the URL of the docset
2267 feed. A documentation feed provides an umbrella under which multiple
2268 documentation sets from a single provider (such as a company or product suite)
2273 <option type='string' id='DOCSET_BUNDLE_ID' format='string' defval='org.doxygen.Project' depends='GENERATE_DOCSET'>
2276 This tag specifies a string that
2277 should uniquely identify the documentation set bundle. This should be a
2278 reverse domain-name style string, e.g. <code>com.mycompany.MyDocSet</code>.
2279 Doxygen will append <code>.docset</code> to the name.
2283 <option type='string' id='DOCSET_PUBLISHER_ID' format='string' defval='org.doxygen.Publisher' depends='GENERATE_DOCSET'>
2286 The \c DOCSET_PUBLISHER_ID
2287 tag specifies a string that should uniquely identify
2288 the documentation publisher. This should be a reverse domain-name style
2289 string, e.g. <code>com.mycompany.MyDocSet.documentation</code>.
2293 <option type='string' id='DOCSET_PUBLISHER_NAME' format='string' defval='Publisher' depends='GENERATE_DOCSET'>
2296 The \c DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
2300 <option type='bool' id='GENERATE_HTMLHELP' defval='0' depends='GENERATE_HTML'>
2303 If the \c GENERATE_HTMLHELP tag is set to \c YES then
2304 doxygen generates three additional HTML index files:
2305 \c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
2306 project file that can be read by Microsoft's HTML Help Workshop
2308 In the beginning of 2021 Microsoft took the original page, with a.o. the download links,
2309 offline the HTML help workshop was already many years in maintenance mode).
2310 You can download the HTML help workshop from the web archives at
2311 <a href="http://web.archive.org/web/20160201063255/http://download.microsoft.com/download/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe">Installation executable</a>.
2313 The HTML Help Workshop contains a compiler that can convert all HTML output
2314 generated by doxygen into a single compiled HTML file (`.chm`). Compiled
2315 HTML files are now used as the Windows 98 help format, and will replace
2316 the old Windows help format (`.hlp`) on all Windows platforms in the future.
2317 Compressed HTML files also contain an index, a table of contents,
2318 and you can search for words in the documentation.
2319 The HTML workshop also contains a viewer for compressed HTML files.
2323 <option type='string' id='CHM_FILE' format='file' defval='' depends='GENERATE_HTMLHELP'>
2326 The \c CHM_FILE tag can
2327 be used to specify the file name of the resulting `.chm` file. You
2328 can add a path in front of the file if the result should not be
2329 written to the html output directory.
2333 <option type='string' id='HHC_LOCATION' format='file' defval='' depends='GENERATE_HTMLHELP' abspath='1'>
2336 The \c HHC_LOCATION tag can
2337 be used to specify the location (absolute path including file name) of
2338 the HTML help compiler (\c hhc.exe). If non-empty, doxygen will try to run
2339 the HTML help compiler on the generated \c index.hhp.
2343 <option type='bool' id='GENERATE_CHI' defval='0' depends='GENERATE_HTMLHELP'>
2346 The \c GENERATE_CHI flag
2347 controls if a separate `.chi` index file is generated (\c YES) or that
2348 it should be included in the main `.chm` file (\c NO).
2352 <option type='string' id='CHM_INDEX_ENCODING' format='string' defval='' depends='GENERATE_HTMLHELP'>
2355 The \c CHM_INDEX_ENCODING
2356 is used to encode HtmlHelp index (\c hhk), content (\c hhc) and project file
2361 <option type='bool' id='BINARY_TOC' defval='0' depends='GENERATE_HTMLHELP'>
2364 The \c BINARY_TOC flag
2365 controls whether a binary table of contents is generated (\c YES) or a
2366 normal table of contents (\c NO) in the `.chm` file. Furthermore it enables
2367 the `Previous` and `Next` buttons.
2371 <option type='bool' id='TOC_EXPAND' defval='0' depends='GENERATE_HTMLHELP'>
2374 The \c TOC_EXPAND flag can be set to \c YES to add extra items for
2375 group members to the table of contents of the HTML help documentation
2376 and to the tree view.
2380 <option type='bool' id='GENERATE_QHP' defval='0' depends='GENERATE_HTML'>
2383 If the \c GENERATE_QHP tag is set to \c YES and both \ref cfg_qhp_namespace "QHP_NAMESPACE"
2384 and \ref cfg_qhp_virtual_folder "QHP_VIRTUAL_FOLDER" are set, an additional index file will
2385 be generated that can be used as input for Qt's qhelpgenerator
2386 to generate a Qt Compressed Help (`.qch`) of the generated HTML
2391 <option type='string' id='QCH_FILE' format='file' defval='' depends='GENERATE_QHP'>
2394 If the \ref cfg_qhg_location "QHG_LOCATION" tag is specified, the \c QCH_FILE tag can
2395 be used to specify the file name of the resulting `.qch` file.
2396 The path specified is relative to the HTML output folder.
2400 <option type='string' id='QHP_NAMESPACE' format='string' defval='org.doxygen.Project' depends='GENERATE_QHP'>
2403 The \c QHP_NAMESPACE tag specifies the namespace to use when generating
2404 Qt Help Project output. For more information please see
2405 <a href="https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
2409 <option type='string' id='QHP_VIRTUAL_FOLDER' format='string' defval='doc' depends='GENERATE_QHP'>
2412 The \c QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
2413 generating Qt Help Project output. For more information please see
2414 <a href="https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
2418 <option type='string' id='QHP_CUST_FILTER_NAME' format='string' defval='' depends='GENERATE_QHP'>
2421 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
2422 <a href="https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
2426 <option type='string' id='QHP_CUST_FILTER_ATTRS' format='string' defval='' depends='GENERATE_QHP'>
2429 The \c QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the custom filter to add.
2430 For more information please see
2431 <a href="https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
2435 <option type='string' id='QHP_SECT_FILTER_ATTRS' format='string' defval='' depends='GENERATE_QHP'>
2438 The \c QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches.
2439 <a href="https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
2443 <option type='string' id='QHG_LOCATION' format='file' defval='' depends='GENERATE_QHP'>
2446 The \c QHG_LOCATION tag can
2447 be used to specify the location (absolute path including file name) of
2448 Qt's qhelpgenerator.
2449 If non-empty doxygen will try to run qhelpgenerator on the generated `.qhp` file.
2453 <option type='bool' id='GENERATE_ECLIPSEHELP' defval='0' depends='GENERATE_HTML'>
2456 If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files
2457 will be generated, together with the HTML files, they form an `Eclipse` help
2460 To install this plugin and make it available under the help contents
2461 menu in `Eclipse`, the contents of the directory containing the HTML and XML
2462 files needs to be copied into the plugins directory of eclipse. The name of
2463 the directory within the plugins directory should be the same as
2464 the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value.
2466 After copying `Eclipse` needs to be restarted before the help appears.
2470 <option type='string' id='ECLIPSE_DOC_ID' format='string' defval='org.doxygen.Project' depends='GENERATE_ECLIPSEHELP'>
2473 A unique identifier for the `Eclipse` help plugin. When installing the plugin
2474 the directory name containing the HTML and XML files should also have
2475 this name. Each documentation set should have its own identifier.
2479 <option type='bool' id='DISABLE_INDEX' defval='0' depends='GENERATE_HTML'>
2482 If you want full control over the layout of the generated HTML pages it
2483 might be necessary to disable the index and replace it with your own.
2484 The \c DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at
2485 top of each HTML page. A value of \c NO enables the index and the
2486 value \c YES disables it. Since the tabs in the index contain the same
2487 information as the navigation tree, you can set this option to \c YES if
2488 you also set \ref cfg_generate_treeview "GENERATE_TREEVIEW" to \c YES.
2492 <option type='bool' id='GENERATE_TREEVIEW' defval='0' depends='GENERATE_HTML'>
2495 The \c GENERATE_TREEVIEW tag is used to specify whether a tree-like index
2496 structure should be generated to display hierarchical information.
2497 If the tag value is set to \c YES, a side panel will be generated
2498 containing a tree-like index structure (just like the one that
2499 is generated for HTML Help). For this to work a browser that supports
2500 JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
2501 Windows users are probably better off using the HTML help feature.
2503 Via custom style sheets (see \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET")
2504 one can further fine tune the look of the index (see \ref doxygen_finetune).
2505 As an example, the default style sheet generated by doxygen has an
2506 example that shows how to put an image at the root of the tree instead of
2507 the \ref cfg_project_name "PROJECT_NAME".
2509 Since the tree basically has the same information as the tab index, you could
2510 consider setting \ref cfg_disable_index "DISABLE_INDEX" to \c YES when
2511 enabling this option.
2515 <option type='bool' id='FULL_SIDEBAR' defval='0' depends='GENERATE_HTML'>
2518 When both \ref cfg_generate_treeview "GENERATE_TREEVIEW" and \ref cfg_disable_index "DISABLE_INDEX"
2519 are set to \c YES, then the
2520 \c FULL_SIDEBAR option determines if the side bar is limited to only the
2521 treeview area (value \c NO) or if it should extend to the full height of the
2522 window (value \c YES). Setting this to \c YES gives a layout similar to
2523 https://docs.readthedocs.io with more room for contents,
2524 but less room for the project logo, title, and description.
2526 If either \ref cfg_generate_treeview "GENERATE_TREEVIEW" or \ref cfg_disable_index "DISABLE_INDEX"
2527 is set to \c NO, this option
2532 <option type='int' id='ENUM_VALUES_PER_LINE' minval='0' maxval='20' defval='4' depends='GENERATE_HTML'>
2535 The \c ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
2536 that doxygen will group on one line in the generated HTML documentation.
2537 <br>Note that a value of 0 will completely suppress the enum values from
2538 appearing in the overview section.
2542 <option type='int' id='TREEVIEW_WIDTH' minval='0' maxval='1500' defval='250' depends='GENERATE_HTML'>
2545 If the treeview is enabled (see \ref cfg_generate_treeview "GENERATE_TREEVIEW") then this tag can be
2546 used to set the initial width (in pixels) of the frame in which the tree
2551 <option type='bool' id='EXT_LINKS_IN_WINDOW' defval='0' depends='GENERATE_HTML'>
2554 If the \c EXT_LINKS_IN_WINDOW option is set to \c YES, doxygen will open
2555 links to external symbols imported via tag files in a separate window.
2559 <option type='bool' id='OBFUSCATE_EMAILS' defval='1' depends='GENERATE_HTML'>
2562 If the \c OBFUSCATE_EMAILS tag is set to \c YES, doxygen will
2563 obfuscate email addresses.
2567 <option type='enum' id='HTML_FORMULA_FORMAT' defval='png' depends='GENERATE_HTML'>
2570 If the \c HTML_FORMULA_FORMAT option is set to \c svg, doxygen will use the pdf2svg
2571 tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see https://inkscape.org)
2572 to generate formulas as SVG images instead of
2573 PNGs for the HTML output. These images will generally look nicer at scaled resolutions.
2576 <value name="png" desc="(the default)"/>
2577 <value name="svg" desc="(looks nicer but requires the pdf2svg or inkscape tool)"/>
2579 <option type='int' id='FORMULA_FONTSIZE' minval='8' maxval='50' defval='10' depends='GENERATE_HTML'>
2582 Use this tag to change the font size of \f$\mbox{\LaTeX}\f$ formulas included
2583 as images in the HTML documentation.
2584 When you change the font size after a successful doxygen run you need
2585 to manually remove any `form_*.png` images from the HTML
2586 output directory to force them to be regenerated.
2590 <option type='string' id='FORMULA_MACROFILE' format='file' defval=''>
2593 The \c FORMULA_MACROFILE can contain \f$\mbox{\LaTeX}\f$ `\newcommand` and
2594 `\renewcommand` commands to create new \f$\mbox{\LaTeX}\f$ commands to be used
2595 in formulas as building blocks.
2596 See the section \ref formulas for details.
2600 <option type='bool' id='USE_MATHJAX' defval='0' depends='GENERATE_HTML'>
2603 Enable the \c USE_MATHJAX option to render \f$\mbox{\LaTeX}\f$ formulas using MathJax
2604 (see https://www.mathjax.org) which uses client side JavaScript for the
2605 rendering instead of using pre-rendered bitmaps. Use this if you do not
2606 have \f$\mbox{\LaTeX}\f$ installed or if you want to formulas look prettier in the HTML
2607 output. When enabled you may also need to install MathJax separately and
2608 configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH"
2613 <option type='enum' id='MATHJAX_VERSION' defval='MathJax_2' depends='USE_MATHJAX'>
2616 With \c MATHJAX_VERSION it is possible to specify the MathJax version to be used.
2617 Note that the different versions of MathJax have different requirements with regards to
2618 the different settings, so it is possible that also other MathJax settings have to be changed
2619 when switching between the different MathJax versions.
2622 <value name="MathJax_2"/>
2623 <value name="MathJax_3"/>
2625 <option type='enum' id='MATHJAX_FORMAT' defval='HTML-CSS' depends='USE_MATHJAX'>
2628 When MathJax is enabled you can set the default output format to be used for
2630 For more details about the output format see <a href="http://docs.mathjax.org/en/v2.7-latest/output.html">MathJax version 2</a>
2631 and <a href="http://docs.mathjax.org/en/latest/web/components/output.html">MathJax version 3</a>.
2634 <value name="HTML-CSS" desc="(which is slower, but has the best compatibility. This is the name for Mathjax version 2, for MathJax version 3 this will be translated into \c chtml)"/>
2635 <value name="NativeMML" desc="(i.e. MathML. Only supported for NathJax 2. For MathJax version 3 \c chtml will be used instead.)"/>
2636 <value name="chtml" desc="(This is the name for Mathjax version 3, for MathJax version 2 this will be translated into \c HTML-CSS)"/>
2639 <option type='string' id='MATHJAX_RELPATH' format='string' depends='USE_MATHJAX'>
2642 When MathJax is enabled you need to specify the location relative to the
2643 HTML output directory using the \c MATHJAX_RELPATH option. The destination
2644 directory should contain the `MathJax.js` script. For instance, if the \c mathjax
2645 directory is located at the same level as the HTML output directory, then
2646 \c MATHJAX_RELPATH should be <code>../mathjax</code>. The default value points to
2647 the MathJax Content Delivery Network so you can quickly see the result without
2648 installing MathJax. However, it is strongly recommended to install a local
2649 copy of MathJax from https://www.mathjax.org before deployment.
2651 The default value is:
2652 - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2
2653 - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3
2657 <option type='list' id='MATHJAX_EXTENSIONS' format='string' depends='USE_MATHJAX'>
2660 The \c MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax extension
2661 names that should be enabled during MathJax rendering. For example for MathJax version 2
2662 (see https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions):
2664 MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
2666 For example for MathJax version 3 (see http://docs.mathjax.org/en/latest/input/tex/extensions/index.html):
2668 MATHJAX_EXTENSIONS = ams
2673 <option type='string' id='MATHJAX_CODEFILE' format='string' depends='USE_MATHJAX'>
2676 The \c MATHJAX_CODEFILE tag can be used to specify a file with javascript
2677 pieces of code that will be used on startup of the MathJax code.
2679 <a href="http://docs.mathjax.org/en/v2.7-latest/output.html">the MathJax site</a>
2683 <docs doxywizard='0' doxyfile='0'>
2685 As an example to disable the "Math Renderer" menu item in the "Math
2686 Settings" menu of MathJax:
2688 MATHJAX_CODEFILE = disableRenderer.js
2690 with in the file <code>disableRenderer.js</code>:
2692 MathJax.Hub.Config({
2694 showRenderer: false,
2700 <docs documentation='0'>
2702 For an example see the documentation.
2706 <option type='bool' id='SEARCHENGINE' defval='1' depends='GENERATE_HTML'>
2709 When the \c SEARCHENGINE tag is enabled doxygen will generate a search box
2710 for the HTML output. The underlying search engine uses javascript
2711 and DHTML and should work on any modern browser. Note that when using
2712 HTML help (\ref cfg_generate_htmlhelp "GENERATE_HTMLHELP"),
2713 Qt help (\ref cfg_generate_qhp "GENERATE_QHP"), or docsets
2714 (\ref cfg_generate_docset "GENERATE_DOCSET") there is already a search
2715 function so this one should typically be disabled. For large projects
2716 the javascript based search engine can be slow, then enabling
2717 \ref cfg_server_based_search "SERVER_BASED_SEARCH" may provide a
2720 It is possible to search using the keyboard;
2721 to jump to the search box use <code>\<access key\> + S</code> (what the <code>\<access key\></code> is
2722 depends on the OS and browser, but it is typically <code>\<CTRL\></code>, <code>\<ALT\></code>/<code>\<option\></code>, or both).
2723 Inside the search box use the <code>\<cursor down key\></code> to jump into the search
2724 results window, the results can be navigated using the <code>\<cursor keys\></code>.
2725 Press <code>\<Enter\></code> to select an item or <code>\<escape\></code> to cancel the search. The
2726 filter options can be selected when the cursor is inside the search box
2727 by pressing <code>\<Shift\>+\<cursor down\></code>. Also here use the <code>\<cursor keys\></code> to
2728 select a filter and <code>\<Enter\></code> or <code>\<escape\></code> to activate or cancel the filter option.
2732 <option type='bool' id='SERVER_BASED_SEARCH' defval='0' depends='SEARCHENGINE'>
2735 When the \c SERVER_BASED_SEARCH tag is enabled the search engine will be
2736 implemented using a web server instead of a web client using JavaScript.
2738 There are two flavors of web server based searching depending on the
2739 \ref cfg_external_search "EXTERNAL_SEARCH" setting. When disabled,
2740 doxygen will generate a PHP script for searching and an index file used
2741 by the script. When \ref cfg_external_search "EXTERNAL_SEARCH" is
2742 enabled the indexing and searching needs to be provided by external tools.
2743 See the section \ref extsearch for details.
2747 <option type='bool' id='EXTERNAL_SEARCH' defval='0' depends='SEARCHENGINE'>
2750 When \c EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
2751 script for searching. Instead the search results are written to an XML file
2752 which needs to be processed by an external indexer. Doxygen will invoke an
2753 external search engine pointed to by the
2754 \ref cfg_searchengine_url "SEARCHENGINE_URL" option to obtain
2756 <br>Doxygen ships with an example indexer (\c doxyindexer) and
2757 search engine (<code>doxysearch.cgi</code>) which are based on the open source search
2758 engine library <a href="https://xapian.org/">Xapian</a>.
2759 <br>See the section \ref extsearch for details.
2763 <option type='string' id='SEARCHENGINE_URL' format='string' defval='' depends='SEARCHENGINE'>
2766 The \c SEARCHENGINE_URL should point to a search engine hosted by a web server
2767 which will return the search results when \ref cfg_external_search "EXTERNAL_SEARCH"
2769 <br>Doxygen ships with an example indexer (\c doxyindexer) and
2770 search engine (<code>doxysearch.cgi</code>) which are based on the open source search
2771 engine library <a href="https://xapian.org/">Xapian</a>.
2772 See the section \ref extsearch for details.
2776 <option type='string' id='SEARCHDATA_FILE' format='file' defval='searchdata.xml' depends='SEARCHENGINE'>
2779 When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
2780 \ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the unindexed
2781 search data is written to a file for indexing by an external tool. With the
2782 \c SEARCHDATA_FILE tag the name of this file can be specified.
2786 <option type='string' id='EXTERNAL_SEARCH_ID' format='string' defval='' depends='SEARCHENGINE'>
2789 When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and
2790 \ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the
2791 \c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
2792 useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS"
2793 to search through multiple projects and redirect the results back to the right project.
2797 <option type='list' id='EXTRA_SEARCH_MAPPINGS' format='string' depends='SEARCHENGINE'>
2800 The \c EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
2801 projects other than the one defined by this configuration file, but that are
2802 all added to the same external search index. Each project needs to have a
2803 unique id set via \ref cfg_external_search_id "EXTERNAL_SEARCH_ID".
2804 The search mapping then maps the id of to a relative location where the
2805 documentation can be found.
2809 EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
2815 <group name='LaTeX' docs='Configuration options related to the LaTeX output'>
2816 <option type='bool' id='GENERATE_LATEX' defval='1'>
2819 If the \c GENERATE_LATEX tag is set to \c YES, doxygen will
2820 generate \f$\mbox{\LaTeX}\f$ output.
2824 <option type='string' id='LATEX_OUTPUT' format='dir' defval='latex' depends='GENERATE_LATEX'>
2827 The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$
2829 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
2834 <option type='string' id='LATEX_CMD_NAME' format='file' defval='' depends='GENERATE_LATEX'>
2837 The \c LATEX_CMD_NAME tag can be used to specify the \f$\mbox{\LaTeX}\f$ command name to be invoked.
2838 <br>Note that when not enabling \ref cfg_use_pdflatex "USE_PDFLATEX" the default is \c latex when
2839 enabling \ref cfg_use_pdflatex "USE_PDFLATEX" the default is \c pdflatex and when in the later case
2840 \c latex is chosen this is overwritten by \c pdflatex. For specific output languages the default can
2841 have been set differently, this depends on the implementation of the output language.
2845 <option type='string' id='MAKEINDEX_CMD_NAME' format='file' defval='makeindex' depends='GENERATE_LATEX'>
2848 The \c MAKEINDEX_CMD_NAME tag can be used to specify the command name to
2849 generate index for \f$\mbox{\LaTeX}\f$.
2851 @note This tag is used in the `Makefile` / `make.bat`.
2852 \sa \ref cfg_latex_makeindex_cmd "LATEX_MAKEINDEX_CMD" for the part in the generated output file (`.tex`).
2856 <option type='string' id='LATEX_MAKEINDEX_CMD' defval='makeindex' depends='GENERATE_LATEX'>
2859 The \c LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
2860 generate index for \f$\mbox{\LaTeX}\f$. In case there is no backslash (`\`) as first character it
2861 will be automatically added in the \f$\mbox{\LaTeX}\f$ code.
2863 @note This tag is used in the generated output file (`.tex`).
2864 \sa \ref cfg_makeindex_cmd_name "MAKEINDEX_CMD_NAME" for the part in the `Makefile` / `make.bat`.
2868 <option type='bool' id='COMPACT_LATEX' defval='0' depends='GENERATE_LATEX'>
2871 If the \c COMPACT_LATEX tag is set to \c YES, doxygen generates more compact
2872 \f$\mbox{\LaTeX}\f$ documents. This may be useful for small projects and may help to
2873 save some trees in general.
2877 <option type='enum' id='PAPER_TYPE' defval='a4' depends='GENERATE_LATEX'>
2880 The \c PAPER_TYPE tag can be used to set the paper type that is used
2884 <value name='a4' desc='(210 x 297 mm)'/>
2885 <value name='letter' desc='(8.5 x 11 inches)'/>
2886 <value name='legal' desc='(8.5 x 14 inches)'/>
2887 <value name='executive' desc='(7.25 x 10.5 inches)'/>
2889 <option type='list' id='EXTRA_PACKAGES' format='string' depends='GENERATE_LATEX'>
2892 The \c EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$
2893 package names that should be included in the \f$\mbox{\LaTeX}\f$ output. The package
2894 can be specified just by its name or with the correct syntax as to be used with the
2895 \f$\mbox{\LaTeX}\f$ `\usepackage` command.
2897 To get the `times` font for instance you can specify :
2899 EXTRA_PACKAGES=times
2901 EXTRA_PACKAGES={times}
2903 To use the option `intlimits` with the `amsmath` package you can specify:
2905 EXTRA_PACKAGES=[intlimits]{amsmath}
2907 If left blank no extra packages will be included.
2911 <option type='string' id='LATEX_HEADER' format='file' defval='' depends='GENERATE_LATEX'>
2914 The \c LATEX_HEADER tag can be used to specify a user-defined \f$\mbox{\LaTeX}\f$
2915 header for the generated \f$\mbox{\LaTeX}\f$ document.
2916 The header should contain everything until the first chapter.
2917 If it is left blank doxygen will generate a
2920 It is highly recommended to start with a default header using
2922 doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty
2924 and then modify the file \c new_header.tex.
2926 See also section \ref doxygen_usage for information on how to generate
2927 the default header that doxygen normally uses.
2929 <br>Note: Only use a user-defined header if you know what you are doing!
2931 @note The header is subject to change so you typically
2932 have to regenerate the default header when upgrading to a newer version of
2934 The following commands have a special meaning inside the header (and footer):
2937 <docs doxywizard='0' doxyfile='0'>
2940 <dt><code>$title</code><dd>will be replaced with the project name.
2941 <dt><code>$datetime</code><dd>will be replaced with current the date and time.
2942 <dt><code>$date</code><dd>will be replaced with the current date.
2943 <dt><code>$year</code><dd>will be replaces with the current year.
2944 <dt><code>$doxygenversion</code><dd>will be replaced with the version of doxygen
2945 <dt><code>$projectname</code><dd>will be replaced with the name of
2946 the project (see \ref cfg_project_name "PROJECT_NAME")
2947 <dt><code>$projectnumber</code><dd>will be replaced with the project number
2948 (see \ref cfg_project_number "PROJECT_NUMBER")
2949 <dt><code>$projectbrief</code><dd>will be replaced with the project brief
2950 description (see \ref cfg_project_brief "PROJECT_BRIEF")
2951 <dt><code>$projectlogo</code><dd>will be replaced with the project logo
2952 (see \ref cfg_project_logo "PROJECT_LOGO")
2953 <dt><code>$latexdocumentpre</code><dd>will be replaced by an output language dependent setting
2954 e.g. embed the entire document in a special environment (for Chinese, Japanese etc.)
2955 Commonly used together with `$latexdocumentpost` in the footer.
2956 <dt><code>$latexdocumentpost</code><dd>will be replaced by an output language dependent setting
2957 e.g. embed the entire document in a special environment (for Chinese, Japanese etc.)
2958 Commonly used together with `$latexdocumentpre` in the header.
2959 <dt><code>$generatedby</code><dd>will be replaced with the output language dependent
2960 version of the text "Generated by" or when the
2961 \ref cfg_latex_timestamp "LATEX_TIMESTAMP" is set by the output language
2962 dependent version of the text "Generated on `$datetime` for `$projectname` by".
2963 <dt><code>$latexcitereference</code><dd>will be replaced by the output language dependent$
2964 version of the word "Bibliography".
2965 This setting is typically used in combination with the block name `CITATIONS_PRESENT`.
2966 <dt><code>$latexbibstyle</code><dd>will be replaced with the latex bib style to be used as
2967 set by \ref cfg_latex_bib_style "LATEX_BIB_STYLE", in case nothing is set the bib style
2969 This setting is typically used in combination with the block name `CITATIONS_PRESENT`.
2970 <dt><code>$latexbibfiles</code><dd>will be replaced by the comma separated list of `bib`. files
2971 as set by \ref cfg_cite_bib_files "CITE_BIB_FILES" (when necessary a missing `.bib` is
2972 automatically added).
2973 This setting is typically used in combination with the block name `CITATIONS_PRESENT`.
2974 <dt><code>$papertype</code><dd>will be replaced by the paper type as set in
2975 \ref cfg_paper_type "PAPER_TYPE" and the word "paper" is directly appended to it to have
2976 a correct \f$\mbox{\LaTeX}\f$ paper type.
2977 <dt><code>$langISO</code><dd>will be replaced by the ISO language name.
2978 <dt><code>$languagesupport</code><dd>will be replaced by an output language dependent setting
2979 of packages required for translating terms of the specified language.
2980 <dt><code>$latexfontenc</code><dd>will be replaced by an output language dependent setting
2981 of the fontencoding to be used.
2982 This setting is typically used in combination with the block name `LATEX_FONTENC`.
2983 <dt><code>$latexfont</code><dd>will be replaced by an output language dependent setting
2984 of the fonts to be used.
2985 <dt><code>$latexemojidirectory</code><dd>will be replaced by the directory as set in
2986 \ref cfg_latex_emoji_directory "LATEX_EMOJI_DIRECTORY" with the backslashes replaced by
2987 forward slashes (so usable by \f$\mbox{\LaTeX}\f$). In case the
2988 \ref cfg_latex_emoji_directory "LATEX_EMOJI_DIRECTORY" is
2989 empty, the current directory will be used.
2990 <dt><code>$makeindex</code><dd>will be replaced by the command as set in
2991 \ref cfg_latex_makeindex_cmd "LATEX_MAKEINDEX_CMD". Then the command doesn't start with
2992 a backslash, a backslash is automatically prepended. In case the setting is empty the
2993 command `\makeindex` is used.
2994 <dt><code>$extralatexpackages</code><dd>will be replaced by commands for using the packages set
2995 in \ref cfg_extra_packages "EXTRA_PACKAGES".
2996 <dt><code>$extralatexstylesheet</code><dd>will be replaced by commands for using the packages set
2997 in \ref cfg_latex_extra_stylesheet "LATEX_EXTRA_STYLESHEET" (when the extension is the default
2998 extension, `.sty`, this extension is stripped for the package name).
2999 <dt><code>$latexspecialformulachars</code><dd>will be replaced by the code for some special
3000 unicode characters that are commonly used (i.e. superscript minus, superscript 2 and superscript 3)
3001 <dt><code>$formulamacrofile</code><dd>will be replaced by the name of the file as set
3002 in \ref cfg_formula_macrofile "FORMULA_MACROFILE".
3003 This setting is typically used in combination with the block name `FORMULA_MACROFILE`.
3006 To cope with differences in the layout of the header and footer that depend on
3007 configuration settings, the header and footer can also contain special blocks that
3008 will be copied to the output or skipped depending on the configuration.
3009 Such blocks have the following form:
3012 Some context copied when condition BLOCKNAME holds
3015 Some context copied when condition BLOCKNAME does not hold
3018 The following block names are set based on the used settings in the
3021 <dt><code>COMPACT_LATEX</code><dd>Content within this block is copied to the output
3022 when the \ref cfg_compact_latex "COMPACT_LATEX" option is enabled.
3023 <dt><code>PDF_HYPERLINKS</code><dd>Content within this block is copied to the output
3024 when the \ref cfg_pdf_hyperlinks "PDF_HYPERLINKS" option is enabled.
3025 <dt><code>USE_PDFLATEX</code><dd>Content within this block is copied to the output
3026 when the \ref cfg_use_pdflatex "USE_PDFLATEX" option is enabled.
3027 <dt><code>LATEX_BATCHMODE</code><dd>Content within this block is copied to the output
3028 when the \ref cfg_latex_batchmode "LATEX_BATCHMODE" option is enabled.
3029 <dt><code>LATEX_TIMESTAMP</code><dd>Content within this block is copied to the output
3030 when the \ref cfg_latex_timestamp "LATEX_TIMESTAMP" option is enabled.
3032 The following block names are set based on the fact whether or not the tag has a
3033 value in the used configuration file:
3035 <dt><code>LATEX_FONTENC</code><dd>Content within this block is copied to the output
3036 when the doxygen latex translator function returns a value for the font encoding
3037 to be used. It is to be used in combination with the above mentioned `$latexfontenc`.
3038 <dt><code>FORMULA_MACROFILE</code><dd>Content within this block is copied to the output
3039 when the \ref cfg_formula_macrofile "FORMULA_MACROFILE" option is not empty. It is
3040 to be used in combination with the above mentioned `$formulamacrofile`.
3042 The following block name is set based on whether or not a feature is used in the
3045 <dt><code>CITATIONS_PRESENT</code><dd>Content within this block is copied to the output
3046 when in the documentation citations are present and the relevant .. are present.
3047 It is to be used in combination with the above mentioned `$latexcitereference`,
3048 `$latexbibstyle` and `$latexbibfiles`.
3052 <docs documentation='0'>
3054 For a description of the possible markers and block names see the documentation.
3058 <option type='string' id='LATEX_FOOTER' format='file' defval='' depends='GENERATE_LATEX'>
3061 The \c LATEX_FOOTER tag can be used to specify a user-defined \f$\mbox{\LaTeX}\f$ footer for
3062 the generated \f$\mbox{\LaTeX}\f$ document. The footer should contain everything after
3063 the last chapter. If it is left blank doxygen will generate a
3066 See \ref cfg_latex_header "LATEX_HEADER" for more information on
3067 how to generate a default footer and what special commands can be
3068 used inside the footer.
3070 See also section \ref doxygen_usage for information on how to generate
3071 the default footer that doxygen normally uses.
3073 Note: Only use a user-defined footer if you know what you are doing!
3077 <option type='list' id='LATEX_EXTRA_STYLESHEET' format='file' defval='' depends='GENERATE_LATEX'>
3080 The \c LATEX_EXTRA_STYLESHEET tag can be used to specify additional
3081 user-defined \f$\mbox{\LaTeX}\f$ style sheets that are included after the standard
3082 style sheets created by doxygen. Using this option one can overrule
3083 certain style aspects. Doxygen will copy the style sheet files to
3084 the output directory.
3085 \note The order of the extra style sheet files is of importance (e.g. the last
3086 style sheet in the list overrules the setting of the previous ones in the list).
3090 <option type='list' id='LATEX_EXTRA_FILES' format='file' depends='GENERATE_LATEX'>
3093 The \c LATEX_EXTRA_FILES tag can be used to specify one or more extra images
3094 or other source files which should be copied to the \ref cfg_latex_output "LATEX_OUTPUT"
3096 Note that the files will be copied as-is; there are no commands or markers
3101 <option type='bool' id='PDF_HYPERLINKS' defval='1' depends='GENERATE_LATEX'>
3104 If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that
3105 is generated is prepared for conversion to PDF (using \c ps2pdf or \c pdflatex).
3107 contain links (just like the HTML output) instead of page references.
3108 This makes the output suitable for online browsing using a PDF viewer.
3112 <option type='bool' id='USE_PDFLATEX' defval='1' depends='GENERATE_LATEX'>
3115 If the \c USE_PDFLATEX tag is set to \c YES, doxygen will use the engine
3116 as specified with \ref cfg_latex_cmd_name "LATEX_CMD_NAME"
3117 to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
3118 files. Set this option to \c YES, to get a higher quality PDF documentation.
3120 See also section \ref cfg_latex_cmd_name "LATEX_CMD_NAME" for selecting the engine.
3124 <option type='bool' id='LATEX_BATCHMODE' defval='0' depends='GENERATE_LATEX'>
3127 If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \c \\batchmode
3128 command to the generated \f$\mbox{\LaTeX}\f$ files. This will
3129 instruct \f$\mbox{\LaTeX}\f$ to keep running if errors occur, instead of
3130 asking the user for help.
3134 <option type='bool' id='LATEX_HIDE_INDICES' defval='0' depends='GENERATE_LATEX'>
3137 If the \c LATEX_HIDE_INDICES tag is set to \c YES then doxygen will not
3138 include the index chapters (such as File Index, Compound Index, etc.)
3143 <option type='string' id='LATEX_BIB_STYLE' format='string' defval='plain' depends='GENERATE_LATEX'>
3146 The \c LATEX_BIB_STYLE tag can be used to specify the style to use for the
3147 bibliography, e.g. \c plainnat, or \c ieeetr.
3148 See https://en.wikipedia.org/wiki/BibTeX and \ref cmdcite "\\cite"
3153 <option type='bool' id='LATEX_TIMESTAMP' defval='0' depends='GENERATE_LATEX'>
3156 If the \c LATEX_TIMESTAMP tag is set to \c YES then the footer of
3157 each generated page will contain the date and time when the page
3158 was generated. Setting this to \c NO can help when comparing the output of
3163 <option type='string' id='LATEX_EMOJI_DIRECTORY' format='dir' defval='' depends='GENERATE_LATEX'>
3166 The \c LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
3167 path from which the emoji images will be read.
3168 If a relative path is entered, it will be relative to the \ref cfg_latex_output "LATEX_OUTPUT"
3169 directory. If left blank the \ref cfg_latex_output "LATEX_OUTPUT" directory will be used.
3174 <group name='RTF' docs='Configuration options related to the RTF output'>
3175 <option type='bool' id='GENERATE_RTF' defval='0'>
3178 If the \c GENERATE_RTF tag is set to \c YES, doxygen will generate RTF output.
3179 The RTF output is optimized for Word 97 and may not look too pretty with
3180 other RTF readers/editors.
3184 <option type='string' id='RTF_OUTPUT' format='dir' defval='rtf' depends='GENERATE_RTF'>
3187 The \c RTF_OUTPUT tag is used to specify where the RTF docs will be put.
3188 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
3193 <option type='bool' id='COMPACT_RTF' defval='0' depends='GENERATE_RTF'>
3196 If the \c COMPACT_RTF tag is set to \c YES, doxygen generates more compact
3197 RTF documents. This may be useful for small projects and may help to
3198 save some trees in general.
3202 <option type='bool' id='RTF_HYPERLINKS' defval='0' depends='GENERATE_RTF'>
3205 If the \c RTF_HYPERLINKS tag is set to \c YES, the RTF that is generated
3206 will contain hyperlink fields. The RTF file will
3207 contain links (just like the HTML output) instead of page references.
3208 This makes the output suitable for online browsing using Word or some other
3209 Word compatible readers that support those fields.
3211 <br>Note: WordPad (write) and others do not support links.
3215 <option type='string' id='RTF_STYLESHEET_FILE' format='file' defval='' depends='GENERATE_RTF'>
3218 Load stylesheet definitions from file. Syntax is similar to doxygen's
3219 configuration file, i.e. a series of assignments. You only have to provide
3220 replacements, missing definitions are set to their default value.
3222 See also section \ref doxygen_usage for information on how to generate
3223 the default style sheet that doxygen normally uses.
3228 <option type='string' id='RTF_EXTENSIONS_FILE' format='file' defval='' depends='GENERATE_RTF'>
3231 Set optional variables used in the generation of an RTF document.
3232 Syntax is similar to doxygen's configuration file.
3233 A template extensions file can be generated using
3234 <code>doxygen -e rtf extensionFile</code>.
3239 <group name='Man' docs='Configuration options related to the man page output'>
3240 <option type='bool' id='GENERATE_MAN' defval='0'>
3243 If the \c GENERATE_MAN tag is set to \c YES, doxygen will
3244 generate man pages for classes and files.
3248 <option type='string' id='MAN_OUTPUT' format='dir' defval='man' depends='GENERATE_MAN'>
3251 The \c MAN_OUTPUT tag is used to specify where the man pages will be put.
3252 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
3254 A directory \c man3 will be created inside the directory specified by
3259 <option type='string' id='MAN_EXTENSION' format='string' defval='.3' depends='GENERATE_MAN'>
3262 The \c MAN_EXTENSION tag determines the extension that is added to
3263 the generated man pages. In case
3264 the manual section does not start with a number, the number 3 is prepended.
3265 The dot (.) at the beginning of the \c MAN_EXTENSION tag is optional.
3269 <option type='string' id='MAN_SUBDIR' format='string' defval='' depends='GENERATE_MAN'>
3272 The \c MAN_SUBDIR tag determines the name of the directory created within \c MAN_OUTPUT
3273 in which the man pages are placed. If defaults to man followed by \c MAN_EXTENSION
3274 with the initial . removed.
3278 <option type='bool' id='MAN_LINKS' defval='0' depends='GENERATE_MAN'>
3281 If the \c MAN_LINKS tag is set to \c YES and doxygen generates man output,
3282 then it will generate one additional man file for each entity documented in
3283 the real man page(s). These additional files only source the real man page,
3284 but without them the \c man command would be unable to find the correct page.
3289 <group name='XML' docs='Configuration options related to the XML output'>
3290 <option type='bool' id='GENERATE_XML' defval='0'>
3293 If the \c GENERATE_XML tag is set to \c YES, doxygen will
3294 generate an XML file that captures the structure of
3295 the code including all documentation.
3299 <option type='string' id='XML_OUTPUT' format='dir' defval='xml' depends='GENERATE_XML'>
3302 The \c XML_OUTPUT tag is used to specify where the XML pages will be put.
3303 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
3308 <option type='bool' id='XML_PROGRAMLISTING' defval='1' depends='GENERATE_XML'>
3311 If the \c XML_PROGRAMLISTING tag is set to \c YES, doxygen will
3312 dump the program listings (including syntax highlighting
3313 and cross-referencing information) to the XML output. Note that
3314 enabling this will significantly increase the size of the XML output.
3318 <option type='bool' id='XML_NS_MEMB_FILE_SCOPE' defval='0' depends='GENERATE_XML'>
3321 If the \c XML_NS_MEMB_FILE_SCOPE tag is set to \c YES, doxygen
3322 will include namespace members in file scope as well, matching the HTML
3328 <group name='Docbook' docs='Configuration options related to the DOCBOOK output'>
3329 <option type='bool' id='GENERATE_DOCBOOK' defval='0'>
3332 If the \c GENERATE_DOCBOOK tag is set to \c YES, doxygen will generate Docbook files
3333 that can be used to generate PDF.
3337 <option type='string' id='DOCBOOK_OUTPUT' format='dir' defval='docbook' depends='GENERATE_DOCBOOK'>
3340 The \c DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
3341 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be put in
3347 <group name='AutoGen' docs='Configuration options for the AutoGen Definitions output'>
3348 <option type='bool' id='GENERATE_AUTOGEN_DEF' defval='0'>
3351 If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES, doxygen will
3352 generate an AutoGen Definitions (see http://autogen.sourceforge.net/) file
3353 that captures the structure of the code including all
3354 documentation. Note that this feature is still experimental
3355 and incomplete at the moment.
3360 <group name='Sqlite3' setting='USE_SQLITE3' docs='Configuration options related to Sqlite3 output'>
3361 <option type='bool' id='GENERATE_SQLITE3' setting='USE_SQLITE3' defval='0'>
3364 If the \c GENERATE_SQLITE3 tag is set to \c YES doxygen will generate a
3365 \c Sqlite3 database with symbols found by doxygen stored in tables.
3367 @note The availability of this option depends on whether or not doxygen
3368 was generated with the `-Duse_sqlite3=ON` option for CMake.
3372 <option type='string' id='SQLITE3_OUTPUT' format='dir' defval='sqlite3' setting='USE_SQLITE3' depends='GENERATE_SQLITE3'>
3375 The \c SQLITE3_OUTPUT tag is used to specify where the \c Sqlite3 database will be put.
3376 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
3379 @note The availability of this option depends on whether or not doxygen
3380 was generated with the `-Duse_sqlite3=ON` option for CMake.
3384 <option type='bool' id='SQLITE3_RECREATE_DB' defval='1' setting='USE_SQLITE3' depends='GENERATE_SQLITE3'>
3387 The \c SQLITE3_OVERWRITE_DB tag is set to \c YES, the existing doxygen_sqlite3.db
3388 database file will be recreated with each doxygen run.
3389 If set to \c NO, doxygen will warn if an a database file is already found and not modify it.
3391 @note The availability of this option depends on whether or not doxygen
3392 was generated with the `-Duse_sqlite3=ON` option for CMake.
3398 <group name='PerlMod' docs='Configuration options related to the Perl module output'>
3399 <option type='bool' id='GENERATE_PERLMOD' defval='0'>
3402 If the \c GENERATE_PERLMOD tag is set to \c YES, doxygen will
3403 generate a Perl module file that captures the structure of
3404 the code including all documentation.
3406 feature is still experimental and incomplete at the
3411 <option type='bool' id='PERLMOD_LATEX' defval='0' depends='GENERATE_PERLMOD'>
3414 If the \c PERLMOD_LATEX tag is set to \c YES, doxygen will generate
3415 the necessary \c Makefile rules, \c Perl scripts and \f$\mbox{\LaTeX}\f$ code to be able
3416 to generate PDF and DVI output from the Perl module output.
3420 <option type='bool' id='PERLMOD_PRETTY' defval='1' depends='GENERATE_PERLMOD'>
3423 If the \c PERLMOD_PRETTY tag is set to \c YES, the Perl module output will be
3424 nicely formatted so it can be parsed by a human reader. This is useful
3425 if you want to understand what is going on. On the other hand, if this
3426 tag is set to \c NO, the size of the Perl module output will be much smaller
3427 and Perl will parse it just the same.
3431 <option type='string' id='PERLMOD_MAKEVAR_PREFIX' format='string' defval='' depends='GENERATE_PERLMOD'>
3434 The names of the make variables in the generated `doxyrules.make` file
3435 are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX.
3436 This is useful so different `doxyrules.make` files included by the same
3437 `Makefile` don't overwrite each other's variables.
3442 <group name='Preprocessor' docs='Configuration options related to the preprocessor'>
3443 <option type='bool' id='ENABLE_PREPROCESSING' defval='1'>
3446 If the \c ENABLE_PREPROCESSING tag is set to \c YES, doxygen will
3447 evaluate all C-preprocessor directives found in the sources and include
3452 <option type='bool' id='MACRO_EXPANSION' defval='0' depends='ENABLE_PREPROCESSING'>
3455 If the \c MACRO_EXPANSION tag is set to \c YES, doxygen will expand all macro
3456 names in the source code. If set to \c NO, only conditional
3457 compilation will be performed. Macro expansion can be done in a controlled
3458 way by setting \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" to \c YES.
3462 <option type='bool' id='EXPAND_ONLY_PREDEF' defval='0' depends='ENABLE_PREPROCESSING'>
3465 If the \c EXPAND_ONLY_PREDEF and \ref cfg_macro_expansion "MACRO_EXPANSION" tags are both set to \c YES
3466 then the macro expansion is limited to the macros specified with the
3467 \ref cfg_predefined "PREDEFINED" and \ref cfg_expand_as_defined "EXPAND_AS_DEFINED" tags.
3471 <option type='bool' id='SEARCH_INCLUDES' defval='1' depends='ENABLE_PREPROCESSING'>
3474 If the \c SEARCH_INCLUDES tag is set to \c YES, the include files
3475 in the \ref cfg_include_path "INCLUDE_PATH" will be searched if a \c \#include is found.
3479 <option type='list' id='INCLUDE_PATH' format='dir' depends='SEARCH_INCLUDES'>
3482 The \c INCLUDE_PATH tag can be used to specify one or more directories that
3483 contain include files that are not input files but should be processed by
3486 Note that the \c INCLUDE_PATH is not recursive, so the setting of \ref cfg_recursive "RECURSIVE"
3491 <option type='list' id='INCLUDE_FILE_PATTERNS' format='string' depends='ENABLE_PREPROCESSING'>
3494 You can use the \c INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
3495 patterns (like `*.h` and `*.hpp`) to filter out the header-files in the
3496 directories. If left blank, the patterns specified with \ref cfg_file_patterns "FILE_PATTERNS" will
3501 <option type='list' id='PREDEFINED' format='string' depends='ENABLE_PREPROCESSING'>
3504 The \c PREDEFINED tag can be used to specify one or more macro names that
3505 are defined before the preprocessor is started (similar to the `-D` option of
3506 e.g. \c gcc). The argument of the tag is a list of macros of the form:
3507 <code>name</code> or <code>name=definition</code> (no spaces).
3508 If the definition and the \c "=" are omitted, \c "=1" is assumed. To prevent
3509 a macro definition from being undefined via \c \#undef or recursively expanded
3510 use the <code>:=</code> operator instead of the \c = operator.
3514 <option type='list' id='EXPAND_AS_DEFINED' format='string' depends='ENABLE_PREPROCESSING'>
3517 If the \ref cfg_macro_expansion "MACRO_EXPANSION" and
3518 \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" tags are set to \c YES then
3519 this tag can be used to specify a list of macro names that should be expanded.
3520 The macro definition that is found in the sources will be used.
3521 Use the \ref cfg_predefined "PREDEFINED" tag if you want to use a different macro definition that
3522 overrules the definition found in the source code.
3526 <option type='bool' id='SKIP_FUNCTION_MACROS' defval='1' depends='ENABLE_PREPROCESSING'>
3529 If the \c SKIP_FUNCTION_MACROS tag is set to \c YES then
3530 doxygen's preprocessor will remove all references to function-like macros that are alone
3531 on a line, have an all uppercase name, and do not end with a semicolon.
3532 Such function macros are typically
3533 used for boiler-plate code, and will confuse the parser if not removed.
3538 <group name='External' docs='Configuration options related to external references'>
3539 <option type='list' id='TAGFILES' format='file'>
3542 The \c TAGFILES tag can be used to specify one or more tag files.
3545 tag file the location of the external documentation should be added. The
3546 format of a tag file without this location is as follows:
3548 TAGFILES = file1 file2 ...
3550 Adding location for the tag files is done as follows:
3552 TAGFILES = file1=loc1 "file2 = loc2" ...
3554 where `loc1` and `loc2` can be relative or absolute paths or URLs.
3555 See the section \ref external for more information about the use of tag files.
3558 Each tag file must have a unique name
3559 (where the name does \e NOT include the path).
3560 If a tag file is not located in the directory in which doxygen
3561 is run, you must also specify the path to the tagfile here.
3565 <option type='string' id='GENERATE_TAGFILE' format='file' defval=''>
3568 When a file name is specified after \c GENERATE_TAGFILE, doxygen will create
3569 a tag file that is based on the input files it reads.
3570 See section \ref external for more information about the usage of
3575 <option type='bool' id='ALLEXTERNALS' defval='0'>
3578 If the \c ALLEXTERNALS tag is set to \c YES, all external class will be listed
3579 in the class index. If set to \c NO, only the inherited external classes
3584 <option type='bool' id='EXTERNAL_GROUPS' defval='1'>
3587 If the \c EXTERNAL_GROUPS tag is set to \c YES, all external groups will be listed
3588 in the modules index. If set to \c NO, only the current project's groups will
3593 <option type='bool' id='EXTERNAL_PAGES' defval='1'>
3596 If the \c EXTERNAL_PAGES tag is set to \c YES, all external pages will be listed
3597 in the related pages index. If set to \c NO, only the current project's
3598 pages will be listed.
3603 <group name='Dot' docs='Configuration options related to the dot tool'>
3604 <option type='string' id='DIA_PATH' format='dir' defval=''>
3607 You can include diagrams made with dia in doxygen documentation. Doxygen will then run
3608 dia to produce the diagram and insert it in the documentation. The DIA_PATH tag allows
3609 you to specify the directory where the dia binary resides. If left empty dia is assumed
3610 to be found in the default search path.
3614 <option type='bool' id='HIDE_UNDOC_RELATIONS' defval='1'>
3617 If set to \c YES the inheritance and collaboration graphs will hide
3618 inheritance and usage relations if the target is undocumented
3623 <option type='bool' id='HAVE_DOT' defval='0'>
3626 If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the \c dot tool is
3627 available from the \c path. This tool is part of
3628 <a href="http://www.graphviz.org/">Graphviz</a>, a graph
3629 visualization toolkit from AT\&T and Lucent Bell Labs. The other options in
3630 this section have no effect if this option is set to \c NO
3634 <option type='int' id='DOT_NUM_THREADS' defval='0' minval='0' maxval='32' depends='HAVE_DOT'>
3637 The \c DOT_NUM_THREADS specifies the number of \c dot invocations doxygen is
3638 allowed to run in parallel. When set to \c 0 doxygen will
3639 base this on the number of processors available in the system. You can set it
3640 explicitly to a value larger than 0 to get control over the balance
3641 between CPU load and processing speed.
3645 <option type='string' id='DOT_COMMON_ATTR' format='string' depends='HAVE_DOT'
3646 defval='fontname=Helvetica,fontsize=10'>
3649 \c DOT_COMMON_ATTR is common attributes for nodes, edges and labels of subgraphs.
3650 When you want a differently looking font in the dot files that doxygen generates
3651 you can specify fontname, fontcolor and fontsize attributes.
3652 For details please see
3653 <a href=https://graphviz.org/doc/info/attrs.html>Node, Edge and Graph Attributes specification</a>
3654 You need to make sure dot is able to find the font,
3655 which can be done by putting it in a standard location
3656 or by setting the \c DOTFONTPATH environment variable or by
3657 setting \ref cfg_dot_fontpath "DOT_FONTPATH" to the
3658 directory containing the font.
3659 Default graphviz fontsize is 14.
3663 <option type='string' id='DOT_EDGE_ATTR' format='string' depends='HAVE_DOT'
3664 defval='labelfontname=Helvetica,labelfontsize=10'>
3667 \c DOT_EDGE_ATTR is concatenated with \ref cfg_dot_common_attr "DOT_COMMON_ATTR".
3668 For elegant style you can add 'arrowhead=open, arrowtail=open, arrowsize=0.5'.
3669 <a href=https://graphviz.org/doc/info/arrows.html>Complete documentation about arrows shapes.</a>
3673 <option type='string' id='DOT_NODE_ATTR' format='string' depends='HAVE_DOT'
3674 defval='shape=box,height=0.2,width=0.4'>
3677 \c DOT_NODE_ATTR is concatenated with \ref cfg_dot_common_attr "DOT_COMMON_ATTR".
3678 For view without boxes around nodes set 'shape=plain' or 'shape=plaintext'
3679 <a href=https://www.graphviz.org/doc/info/shapes.html>Shapes specification</a>
3683 <option type='string' id='DOT_FONTPATH' format='dir' defval='' depends='HAVE_DOT'>
3686 You can set the path where \c dot can find font specified with
3687 fontname in \ref cfg_dot_common_attr "DOT_COMMON_ATTR" and others dot attributes.
3691 <option type='enum' id='CLASS_GRAPH' defval='YES'>
3694 If the \c CLASS_GRAPH tag is set to \c YES (or \c GRAPH) then doxygen
3695 will generate a graph for each documented class showing the direct and
3696 indirect inheritance relations. In case \ref cfg_have_dot "HAVE_DOT" is set as well
3697 `dot` will be used to draw the graph, otherwise the built-in generator will be used.
3698 If the \c CLASS_GRAPH tag is set to \c TEXT the direct and indirect inheritance relations
3699 will be shown as texts / links.
3702 <value name="NO" bool_representation="NO" />
3703 <value name="YES" bool_representation="YES" />
3704 <value name="TEXT" bool_representation="YES" />
3705 <value name="GRAPH" bool_representation="YES" />
3707 <option type='bool' id='COLLABORATION_GRAPH' defval='1' depends='HAVE_DOT'>
3710 If the \c COLLABORATION_GRAPH tag is set to \c YES then doxygen
3711 will generate a graph for each documented class showing the direct and
3712 indirect implementation dependencies (inheritance, containment, and
3713 class references variables) of the class with other documented classes.
3717 <option type='bool' id='GROUP_GRAPHS' defval='1' depends='HAVE_DOT'>
3720 If the \c GROUP_GRAPHS tag is set to \c YES then doxygen
3721 will generate a graph for groups, showing the direct groups dependencies.
3723 See also the chapter \ref grouping "Grouping" in the manual.
3727 <option type='bool' id='UML_LOOK' defval='0' depends='HAVE_DOT'>
3730 If the \c UML_LOOK tag is set to \c YES, doxygen will generate inheritance and
3731 collaboration diagrams in a style similar to the OMG's Unified Modeling
3736 <option type='int' id='UML_LIMIT_NUM_FIELDS' defval='10' minval='0' maxval='100' depends='UML_LOOK'>
3739 If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside
3740 the class node. If there are many fields or methods and many nodes the
3741 graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS
3742 threshold limits the number of items for each type to make the size more
3743 manageable. Set this to 0 for no limit. Note that the threshold may be
3744 exceeded by 50% before the limit is enforced. So when you set the threshold
3745 to 10, up to 15 fields may appear, but if the number exceeds 15, the
3746 total amount of fields shown is limited to 10.
3750 <option type='enum' id='DOT_UML_DETAILS' defval='NO' depends='UML_LOOK'>
3753 If the \c DOT_UML_DETAILS tag is set to \c NO, doxygen will
3754 show attributes and methods without types and arguments in the UML graphs.
3755 If the \c DOT_UML_DETAILS tag is set to \c YES, doxygen will
3756 add type and arguments for attributes and methods in the UML graphs.
3757 If the \c DOT_UML_DETAILS tag is set to \c NONE, doxygen will not generate
3758 fields with class member information in the UML graphs.
3759 The class diagrams will look similar to the default class diagrams but using
3760 UML notation for the relationships.
3764 <value name="YES" />
3765 <value name="NONE" />
3767 <option type='int' id='DOT_WRAP_THRESHOLD' defval='17' minval='0' maxval='1000' depends='HAVE_DOT'>
3770 The \c DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters to display on
3771 a single line. If the actual line length exceeds this threshold significantly it will wrapped
3772 across multiple lines. Some heuristics are apply to avoid ugly line breaks.
3776 <option type='bool' id='TEMPLATE_RELATIONS' defval='0' depends='HAVE_DOT'>
3779 If the \c TEMPLATE_RELATIONS tag is set to \c YES then
3780 the inheritance and collaboration graphs will show the relations between templates and their instances.
3784 <option type='bool' id='INCLUDE_GRAPH' defval='1' depends='HAVE_DOT'>
3787 If the \c INCLUDE_GRAPH, \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" and
3788 \ref cfg_search_includes "SEARCH_INCLUDES"
3789 tags are set to \c YES then doxygen will generate a graph for each documented file
3790 showing the direct and indirect include dependencies of the file with other
3795 <option type='bool' id='INCLUDED_BY_GRAPH' defval='1' depends='HAVE_DOT'>
3798 If the \c INCLUDED_BY_GRAPH, \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING" and
3799 \ref cfg_search_includes "SEARCH_INCLUDES"
3800 tags are set to \c YES then doxygen will generate a graph for each documented file
3801 showing the direct and indirect include dependencies of the file with other
3806 <option type='bool' id='CALL_GRAPH' defval='0' depends='HAVE_DOT'>
3809 If the \c CALL_GRAPH tag is set to \c YES then doxygen will
3810 generate a call dependency graph for every global function or class method.
3811 <br>Note that enabling this option will significantly increase the time of a run.
3812 So in most cases it will be better to enable call graphs for selected
3813 functions only using the \ref cmdcallgraph "\\callgraph" command.
3814 Disabling a call graph can be accomplished by means of the command
3815 \ref cmdhidecallgraph "\\hidecallgraph".
3819 <option type='bool' id='CALLER_GRAPH' defval='0' depends='HAVE_DOT'>
3822 If the \c CALLER_GRAPH tag is set to \c YES then doxygen will
3823 generate a caller dependency graph for every global function or class method.
3824 <br>Note that enabling this option will significantly increase the time of a run.
3825 So in most cases it will be better to enable caller graphs for selected
3826 functions only using the \ref cmdcallergraph "\\callergraph" command.
3827 Disabling a caller graph can be accomplished by means of the command
3828 \ref cmdhidecallergraph "\\hidecallergraph".
3832 <option type='bool' id='GRAPHICAL_HIERARCHY' defval='1' depends='HAVE_DOT'>
3835 If the \c GRAPHICAL_HIERARCHY tag is set to \c YES then
3836 doxygen will graphical hierarchy of all classes instead of a textual one.
3840 <option type='bool' id='DIRECTORY_GRAPH' defval='1' depends='HAVE_DOT'>
3843 If the \c DIRECTORY_GRAPH tag is set
3844 to \c YES then doxygen will show the dependencies a directory has on other directories
3845 in a graphical way. The dependency relations are determined by the \c \#include
3846 relations between the files in the directories.
3850 <option type='int' id='DIR_GRAPH_MAX_DEPTH' minval='1' maxval='25' defval='1' depends='DIRECTORY_GRAPH'>
3853 The \c DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of
3854 levels of child directories generated in directory dependency graphs by \c dot.
3858 <option type='enum' id='DOT_IMAGE_FORMAT' defval='png' depends='HAVE_DOT'>
3861 The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images
3862 generated by \c dot. For an explanation of the image formats see the section output formats
3863 in the documentation of the \c dot tool
3864 (<a href="http://www.graphviz.org/">Graphviz</a>).
3865 \note If you choose \c svg you need to set
3866 \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
3867 visible in IE 9+ (other browsers do not have this requirement).
3874 <value name='png:gd'/>
3875 <value name='png:gd:gd'/>
3876 <value name='png:cairo'/>
3877 <value name='png:cairo:gd'/>
3878 <value name='png:cairo:cairo'/>
3879 <value name='png:cairo:gdiplus'/>
3880 <value name='png:gdiplus'/>
3881 <value name='png:gdiplus:gdiplus'/>
3883 <option type='bool' id='INTERACTIVE_SVG' defval='0' depends='HAVE_DOT'>
3886 If \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" is set to \c svg, then this option can be set to \c YES to
3887 enable generation of interactive SVG images that allow zooming and panning.
3888 <br>Note that this requires a modern browser other than Internet Explorer.
3889 Tested and working are Firefox, Chrome, Safari, and Opera.
3890 \note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order
3891 to make the SVG files visible. Older versions of IE do not have SVG support.
3895 <option type='string' id='DOT_PATH' format='filedir' defval='' depends='HAVE_DOT'>
3898 The \c DOT_PATH tag can be used to specify the path where the \c dot tool can be found.
3899 If left blank, it is assumed the \c dot tool can be found in the \c path.
3903 <option type='list' id='DOTFILE_DIRS' format='dir' depends='HAVE_DOT'>
3906 The \c DOTFILE_DIRS tag can be used to specify one or more directories that
3907 contain dot files that are included in the documentation (see the
3908 \ref cmddotfile "\\dotfile" command).
3912 <option type='list' id='MSCFILE_DIRS' format='dir'>
3915 The \c MSCFILE_DIRS tag can be used to specify one or more directories that
3916 contain msc files that are included in the documentation (see the
3917 \ref cmdmscfile "\\mscfile" command).
3921 <option type='list' id='DIAFILE_DIRS' format='dir'>
3924 The \c DIAFILE_DIRS tag can be used to specify one or more directories that
3925 contain dia files that are included in the documentation (see the
3926 \ref cmddiafile "\\diafile" command).
3930 <option type='string' id='PLANTUML_JAR_PATH' format='filedir' defval=''>
3933 When using plantuml, the \c PLANTUML_JAR_PATH tag should be used to specify the path where
3934 java can find the \c plantuml.jar file or to the filename of \c jar file to be used.
3935 If left blank, it is assumed PlantUML is not used or
3936 called during a preprocessing step. Doxygen will generate a warning when it encounters a
3937 \ref cmdstartuml "\\startuml" command in this case and will not generate output for the diagram.
3941 <option type='string' id='PLANTUML_CFG_FILE' format='file' defval=''>
3944 When using plantuml, the \c PLANTUML_CFG_FILE tag can be used to specify a configuration
3949 <option type='list' id='PLANTUML_INCLUDE_PATH' format='dir' defval=''>
3952 When using plantuml, the specified paths are searched for files specified by the \c !include
3953 statement in a plantuml block.
3957 <option type='int' id='DOT_GRAPH_MAX_NODES' minval='0' maxval='10000' defval='50' depends='HAVE_DOT'>
3960 The \c DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
3961 nodes that will be shown in the graph. If the number of nodes in a graph
3962 becomes larger than this value, doxygen will truncate the graph, which is
3963 visualized by representing a node as a red box. Note that doxygen if the number
3964 of direct children of the root node in a graph is already larger than
3965 \c DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
3966 that the size of a graph can be further restricted by \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH".
3970 <option type='int' id='MAX_DOT_GRAPH_DEPTH' minval='0' maxval='1000' defval='0' depends='HAVE_DOT'>
3973 The \c MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
3974 graphs generated by \c dot. A depth value of 3 means that only nodes reachable
3975 from the root by following a path via at most 3 edges will be shown. Nodes
3976 that lay further from the root node will be omitted. Note that setting this
3977 option to 1 or 2 may greatly reduce the computation time needed for large
3978 code bases. Also note that the size of a graph can be further restricted by
3979 \ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES". Using a depth of 0 means no depth restriction.
3983 <option type='bool' id='DOT_MULTI_TARGETS' defval='0' depends='HAVE_DOT'>
3986 Set the \c DOT_MULTI_TARGETS tag to \c YES to allow dot to generate multiple output
3987 files in one run (i.e. multiple -o and -T options on the command line). This
3988 makes \c dot run faster, but since only newer versions of \c dot (>1.8.10)
3989 support this, this feature is disabled by default.
3993 <option type='bool' id='GENERATE_LEGEND' defval='1' depends='HAVE_DOT'>
3996 If the \c GENERATE_LEGEND tag is set to \c YES doxygen will
3997 generate a legend page explaining the meaning of the various boxes and
3998 arrows in the dot generated graphs.
3999 \note This tag requires that \ref cfg_uml_look "UML_LOOK" isn't set, i.e. the
4000 doxygen internal graphical representation for inheritance and collaboration diagrams
4005 <option type='bool' id='DOT_CLEANUP' defval='1'>
4008 If the \c DOT_CLEANUP tag is set to \c YES, doxygen will
4009 remove the intermediate files that are used to generate the various graphs.
4011 This setting is not only used for dot files but also for msc temporary files.
4015 <option type='obsolete' orgtype='bool' id='USE_WINDOWS_ENCODING'/>
4016 <option type='obsolete' orgtype='bool' id='DETAILS_AT_TOP'/>
4017 <option type='obsolete' orgtype='string' id='QTHELP_FILE'/>
4018 <option type='obsolete' orgtype='string' id='QTHELP_CONFIG'/>
4019 <option type='obsolete' orgtype='string' id='DOXYGEN2QTHELP_LOC'/>
4020 <option type='obsolete' orgtype='int' id='MAX_DOT_GRAPH_WIDTH'/>
4021 <option type='obsolete' orgtype='int' id='MAX_DOT_GRAPH_HEIGHT'/>
4022 <option type='obsolete' orgtype='string' id='CGI_NAME'/>
4023 <option type='obsolete' orgtype='string' id='CGI_URL'/>
4024 <option type='obsolete' orgtype='string' id='DOC_URL'/>
4025 <option type='obsolete' orgtype='string' id='DOC_ABSPATH'/>
4026 <option type='obsolete' orgtype='string' id='BIN_ABSPATH'/>
4027 <option type='obsolete' orgtype='list' id='EXT_DOC_PATHS'/>
4028 <option type='obsolete' orgtype='bool' id='USE_INLINE_TREES'/>
4029 <option type='obsolete' orgtype='bool' id='SHOW_DIRECTORIES'/>
4030 <option type='obsolete' orgtype='bool' id='HTML_ALIGN_MEMBERS'/>
4031 <option type='obsolete' orgtype='int' id='SYMBOL_CACHE_SIZE'/>
4032 <option type='obsolete' orgtype='string' id='XML_SCHEMA'/>
4033 <option type='obsolete' orgtype='string' id='XML_DTD'/>
4034 <option type='obsolete' orgtype='string' id='PERL_PATH'/>
4035 <option type='obsolete' orgtype='string' id='MSCGEN_PATH'/>
4036 <option type='obsolete' orgtype='list' id='TCL_SUBST'/>
4037 <option type='obsolete' orgtype='int' id='COLS_IN_ALPHA_INDEX'/>
4038 <option type='obsolete' orgtype='enum' id='OUTPUT_TEXT_DIRECTION'/>
4039 <option type='obsolete' orgtype='bool' id='DOCBOOK_PROGRAMLISTING'/>
4040 <option type='obsolete' orgtype='bool' id='RTF_SOURCE_CODE'/>
4041 <option type='obsolete' orgtype='bool' id='LATEX_SOURCE_CODE'/>
4042 <option type='obsolete' orgtype='bool' id='CLASS_DIAGRAMS'/>
4043 <option type='obsolete' orgtype='int' id='DOT_FONTSIZE'/>
4044 <option type='obsolete' orgtype='string' id='DOT_FONTNAME'/>
4045 <option type='obsolete' orgtype='bool' id='FORMULA_TRANSPARENT'/>
4046 <option type='obsolete' orgtype='bool' id='DOT_TRANSPARENT'/>