config.doc 124 KB
Newer Older
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1
e******************************************************************************
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2
 *
Dimitri van Heesch's avatar
Dimitri van Heesch committed
3
 * 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
4
 *
Dimitri van Heesch's avatar
Dimitri van Heesch committed
5
 * Copyright (C) 1997-2013 by Dimitri van Heesch.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
6 7 8 9 10 11 12
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation under the terms of the GNU General Public License is hereby 
 * granted. No representations are made about the suitability of this software 
 * for any purpose. It is provided "as is" without express or implied warranty.
 * See the GNU General Public License for more details.
 *
Dimitri van Heesch's avatar
Dimitri van Heesch committed
13 14
 * Documents produced by Doxygen are derivative works derived from the
 * input used in their production; they are not affected by this license.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
15 16
 *
 */
Dimitri van Heesch's avatar
Dimitri van Heesch committed
17
/*! \page config Configuration
Dimitri van Heesch's avatar
Dimitri van Heesch committed
18

19
\tableofcontents
20
\section config_format Format
Dimitri van Heesch's avatar
Dimitri van Heesch committed
21

22
A configuration file is a free-form ASCII text file with a structure
Dimitri van Heesch's avatar
Dimitri van Heesch committed
23 24 25
that is similar to that of a \c Makefile, with the default name \c Doxyfile. It is
parsed by \c doxygen. The file may contain tabs and newlines for
formatting purposes. The statements in the file are case-sensitive.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
26
Comments may be placed anywhere within the file (except within quotes).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
27
Comments beginning with two hash characters (\c \#\#) are kept when updating
28
the configuration file and are placed in front of the TAG are in front of.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
29
Comments beginning with two hash characters (\c \#\#) at the end of the
30
configuration file are also kept and placed at the end of the file.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
31
Comments begin with the hash character (\c \#) and ends at the end of the line.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
32 33 34

The file essentially consists of a list of assignment statements.
Each statement consists of a \c TAG_NAME written in capitals,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
35
followed by the equal sign (<code>=</code>) and one or more values. If the same tag
36
is assigned more than once, the last assignment overwrites any earlier
Dimitri van Heesch's avatar
Dimitri van Heesch committed
37
assignment. For tags that take a list as their argument,
38 39
the <code>+=</code> operator can be used instead of <code>=</code> to append 
new values to the list. Values are sequences of non-blanks. If the value should 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
40 41
contain one or more blanks it must be surrounded by quotes (<code>&quot;...&quot;</code>).
Multiple lines can be concatenated by inserting a backslash (\c \\)
42
as the last character of a line. Environment variables can be expanded 
43
using the pattern <code>\$(ENV_VARIABLE_NAME)</code>.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
44

45 46 47 48 49 50 51
You can also include part of a configuration file from another configuration
file using a <code>\@INCLUDE</code> tag as follows:
\verbatim
@INCLUDE = config_file_name
\endverbatim 
The include file is searched in the current working directory. You can 
also specify a list of directories that should be searched before looking
52
in the current working directory. Do this by putting a <code>\@INCLUDE_PATH</code> tag 
53
with these paths before the <code>\@INCLUDE</code> tag, e.g.:
54
\verbatim
55
@INCLUDE_PATH = my_config_dir
56 57
\endverbatim

Dimitri van Heesch's avatar
Dimitri van Heesch committed
58
The configuration options can be divided into several categories.
59 60 61
Below is an alphabetical index of the tags that are recognized 
followed by the descriptions of the tags grouped by category.

62
\secreflist
63
\refitem cfg_abbreviate_brief ABBREVIATE_BRIEF
64 65
\refitem cfg_aliases ALIASES
\refitem cfg_allexternals ALLEXTERNALS 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
66
\refitem cfg_alphabetical_index ALPHABETICAL_INDEX 
67
\refitem cfg_always_detailed_sec ALWAYS_DETAILED_SEC
Dimitri van Heesch's avatar
Dimitri van Heesch committed
68
\refitem cfg_autolink_support AUTOLINK_SUPPORT
69 70
\refitem cfg_binary_toc BINARY_TOC
\refitem cfg_brief_member_desc BRIEF_MEMBER_DESC 
71
\refitem cfg_builtin_stl_support BUILTIN_STL_SUPPORT
72
\refitem cfg_call_graph CALL_GRAPH
73
\refitem cfg_caller_graph CALLER_GRAPH
74 75
\refitem cfg_case_sense_names CASE_SENSE_NAMES 
\refitem cfg_chm_file CHM_FILE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
76
\refitem cfg_chm_index_encoding CHM_INDEX_ENCODING
77
\refitem cfg_cite_bib_files CITE_BIB_FILES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
78 79
\refitem cfg_clang_assisted_parsig CLANG_ASSISTED_PARSING
\refitem cfg_clang_options CLANG_OPTIONS
80
\refitem cfg_class_diagrams CLASS_DIAGRAMS 
81 82
\refitem cfg_class_graph CLASS_GRAPH
\refitem cfg_collaboration_graph COLLABORATION_GRAPH
83 84 85
\refitem cfg_cols_in_alpha_index COLS_IN_ALPHA_INDEX
\refitem cfg_compact_latex COMPACT_LATEX 
\refitem cfg_compact_rtf COMPACT_RTF
86
\refitem cfg_cpp_cli_support CPP_CLI_SUPPORT
87
\refitem cfg_create_subdirs CREATE_SUBDIRS
88
\refitem cfg_directory_graph DIRECTORY_GRAPH
89 90
\refitem cfg_disable_index DISABLE_INDEX 
\refitem cfg_distribute_group_doc DISTRIBUTE_GROUP_DOC
91
\refitem cfg_docbook_output DOCBOOK_OUTPUT
92 93
\refitem cfg_docset_bundle_id DOCSET_BUNDLE_ID
\refitem cfg_docset_feedname DOCSET_FEEDNAME
94 95
\refitem cfg_docset_publisher_id DOCSET_PUBLISHER_ID
\refitem cfg_docset_publisher_name DOCSET_PUBLISHER_NAME
96
\refitem cfg_dot_cleanup DOT_CLEANUP
97 98
\refitem cfg_dot_fontname DOT_FONTNAME
\refitem cfg_dot_fontpath DOT_FONTPATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
99
\refitem cfg_dot_fontsize DOT_FONTSIZE
100
\refitem cfg_dot_graph_max_nodes DOT_GRAPH_MAX_NODES
101
\refitem cfg_dot_image_format DOT_IMAGE_FORMAT
102
\refitem cfg_dot_multi_targets DOT_MULTI_TARGETS
103
\refitem cfg_dot_num_threads DOT_NUM_THREADS
104
\refitem cfg_dot_path DOT_PATH
105
\refitem cfg_dot_transparent DOT_TRANSPARENT
106
\refitem cfg_dotfile_dirs DOTFILE_DIRS
107
\refitem cfg_doxyfile_encoding DOXYFILE_ENCODING
Dimitri van Heesch's avatar
Dimitri van Heesch committed
108
\refitem cfg_eclipse_doc_id ECLIPSE_DOC_ID
109 110
\refitem cfg_enable_preprocessing ENABLE_PREPROCESSING
\refitem cfg_enabled_sections ENABLED_SECTIONS
111
\refitem cfg_enum_values_per_line ENUM_VALUES_PER_LINE
112 113 114 115 116
\refitem cfg_example_path EXAMPLE_PATH
\refitem cfg_example_patterns EXAMPLE_PATTERNS
\refitem cfg_example_recursive EXAMPLE_RECURSIVE
\refitem cfg_exclude EXCLUDE
\refitem cfg_exclude_patterns EXCLUDE_PATTERNS
117
\refitem cfg_exclude_symbols EXCLUDE_SYMBOLS
118 119 120
\refitem cfg_exclude_symlinks EXCLUDE_SYMLINKS
\refitem cfg_expand_as_defined EXPAND_AS_DEFINED
\refitem cfg_expand_only_predef EXPAND_ONLY_PREDEF
121
\refitem cfg_ext_links_in_window EXT_LINKS_IN_WINDOW
122
\refitem cfg_extension_mapping EXTENSION_MAPPING
123
\refitem cfg_external_groups EXTERNAL_GROUPS
124
\refitem cfg_external_pages EXTERNAL_PAGES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
125
\refitem cfg_external_search EXTERNAL_SEARCH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
126
\refitem cfg_external_search_id EXTERNAL_SEARCH_ID
127
\refitem cfg_extra_packages EXTRA_PACKAGES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
128
\refitem cfg_extra_search_mappings EXTRA_SEARCH_MAPPINGS
129
\refitem cfg_extract_all EXTRACT_ALL
Dimitri van Heesch's avatar
Dimitri van Heesch committed
130
\refitem cfg_extract_anon_nspaces EXTRACT_ANON_NSPACES
131
\refitem cfg_extract_local_classes EXTRACT_LOCAL_CLASSES
132
\refitem cfg_extract_local_methods EXTRACT_LOCAL_METHODS
133
\refitem cfg_extract_package EXTRACT_PACKAGE
134 135 136
\refitem cfg_extract_private EXTRACT_PRIVATE
\refitem cfg_extract_static EXTRACT_STATIC
\refitem cfg_file_patterns FILE_PATTERNS
137
\refitem cfg_file_version_filter FILE_VERSION_FILTER
138
\refitem cfg_filter_patterns FILTER_PATTERNS
139
\refitem cfg_filter_source_files FILTER_SOURCE_FILES
140
\refitem cfg_filter_source_patterns FILTER_SOURCE_PATTERNS
141
\refitem cfg_force_local_includes FORCE_LOCAL_INCLUDES
142
\refitem cfg_formula_fontsize FORMULA_FONTSIZE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
143
\refitem cfg_formula_transparent FORMULA_TRANSPARENT
144
\refitem cfg_full_path_names FULL_PATH_NAMES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
145
\refitem cfg_generate_autogen_def GENERATE_AUTOGEN_DEF
146 147
\refitem cfg_generate_buglist GENERATE_BUGLIST
\refitem cfg_generate_chi GENERATE_CHI
148
\refitem cfg_generate_deprecatedlist GENERATE_DEPRECATEDLIST
149
\refitem cfg_generate_docbook GENERATE_DOCBOOK
150
\refitem cfg_generate_docset GENERATE_DOCSET
Dimitri van Heesch's avatar
Dimitri van Heesch committed
151
\refitem cfg_generate_eclipsehelp GENERATE_ECLIPSEHELP
152 153 154 155 156
\refitem cfg_generate_html GENERATE_HTML
\refitem cfg_generate_htmlhelp GENERATE_HTMLHELP
\refitem cfg_generate_latex GENERATE_LATEX
\refitem cfg_generate_legend GENERATE_LEGEND
\refitem cfg_generate_man GENERATE_MAN
Dimitri van Heesch's avatar
Dimitri van Heesch committed
157
\refitem cfg_generate_perlmod GENERATE_PERLMOD
Dimitri van Heesch's avatar
Dimitri van Heesch committed
158
\refitem cfg_generate_qhp GENERATE_QHP
159 160 161 162 163
\refitem cfg_generate_rtf GENERATE_RTF
\refitem cfg_generate_tagfile GENERATE_TAGFILE
\refitem cfg_generate_testlist GENERATE_TESTLIST
\refitem cfg_generate_todolist GENERATE_TODOLIST
\refitem cfg_generate_treeview GENERATE_TREEVIEW
164
\refitem cfg_generate_xml GENERATE_XML
165
\refitem cfg_graphical_hierarchy GRAPHICAL_HIERARCHY
166
\refitem cfg_group_graphs GROUP_GRAPHS
167 168
\refitem cfg_have_dot HAVE_DOT
\refitem cfg_hhc_location HHC_LOCATION
169
\refitem cfg_hide_friend_compounds HIDE_FRIEND_COMPOUNDS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
170
\refitem cfg_hide_in_body_docs HIDE_IN_BODY_DOCS
171 172 173 174 175
\refitem cfg_hide_scope_names HIDE_SCOPE_NAMES
\refitem cfg_hide_undoc_classes HIDE_UNDOC_CLASSES
\refitem cfg_hide_undoc_members HIDE_UNDOC_MEMBERS
\refitem cfg_hide_undoc_relations HIDE_UNDOC_RELATIONS
\refitem cfg_html_align_members HTML_ALIGN_MEMBERS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
176 177 178
\refitem cfg_html_colorstyle_gamma HTML_COLORSTYLE_GAMMA
\refitem cfg_html_colorstyle_hue HTML_COLORSTYLE_HUE
\refitem cfg_html_colorstyle_sat HTML_COLORSTYLE_SAT
Dimitri van Heesch's avatar
Dimitri van Heesch committed
179
\refitem cfg_html_dynamic_sections HTML_DYNAMIC_SECTIONS
180
\refitem cfg_html_extra_files HTML_EXTRA_FILES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
181
\refitem cfg_html_extra_stylesheet HTML_EXTRA_STYLESHEET
182
\refitem cfg_html_file_extension HTML_FILE_EXTENSION
183 184
\refitem cfg_html_footer HTML_FOOTER
\refitem cfg_html_header HTML_HEADER
185
\refitem cfg_html_index_num_entries HTML_INDEX_NUM_ENTRIES
186 187
\refitem cfg_html_output HTML_OUTPUT
\refitem cfg_html_stylesheet HTML_STYLESHEET
188
\refitem cfg_html_timestamp HTML_TIMESTAMP
189
\refitem cfg_idl_property_support IDL_PROPERTY_SUPPORT
190 191
\refitem cfg_ignore_prefix IGNORE_PREFIX
\refitem cfg_image_path IMAGE_PATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
192
\refitem cfg_include_file_patterns INCLUDE_FILE_PATTERNS
193
\refitem cfg_include_graph INCLUDE_GRAPH
194
\refitem cfg_include_path INCLUDE_PATH
195
\refitem cfg_included_by_graph INCLUDED_BY_GRAPH
196
\refitem cfg_inherit_docs INHERIT_DOCS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
197
\refitem cfg_inline_grouped_classes INLINE_GROUPED_CLASSES
198 199
\refitem cfg_inline_info INLINE_INFO
\refitem cfg_inline_inherited_memb INLINE_INHERITED_MEMB
200
\refitem cfg_inline_simple_structs INLINE_SIMPLE_STRUCTS
201 202
\refitem cfg_inline_sources INLINE_SOURCES
\refitem cfg_input INPUT
203
\refitem cfg_input_encoding INPUT_ENCODING
204
\refitem cfg_input_filter INPUT_FILTER
205
\refitem cfg_interactive_svg INTERACTIVE_SVG
206 207 208
\refitem cfg_internal_docs INTERNAL_DOCS
\refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF
\refitem cfg_latex_batchmode LATEX_BATCHMODE
209
\refitem cfg_latex_bib_style LATEX_BIB_STYLE
210
\refitem cfg_latex_cmd_name LATEX_CMD_NAME
211
\refitem cfg_latex_extra_files LATEX_EXTRA_FILES
212
\refitem cfg_latex_footer LATEX_FOOTER
213
\refitem cfg_latex_header LATEX_HEADER
214
\refitem cfg_latex_hide_indices LATEX_HIDE_INDICES
215
\refitem cfg_latex_output LATEX_OUTPUT
Dimitri van Heesch's avatar
Dimitri van Heesch committed
216
\refitem cfg_latex_source_code LATEX_SOURCE_CODE
217
\refitem cfg_layout_file LAYOUT_FILE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
218
\refitem cfg_lookup_cache_size LOOKUP_CACHE_SIZE
219 220 221 222 223
\refitem cfg_macro_expansion MACRO_EXPANSION
\refitem cfg_makeindex_cmd_name MAKEINDEX_CMD_NAME
\refitem cfg_man_extension MAN_EXTENSION
\refitem cfg_man_links MAN_LINKS
\refitem cfg_man_output MAN_OUTPUT
224
\refitem cfg_markdown_support MARKDOWN_SUPPORT
225
\refitem cfg_mathjax_extensions MATHJAX_EXTENSIONS
226
\refitem cfg_mathjax_format MATHJAX_FORMAT
Dimitri van Heesch's avatar
Dimitri van Heesch committed
227
\refitem cfg_mathjax_relpath MATHJAX_RELPATH
228
\refitem cfg_mathjax_codefile MATHJAX_CODEFILE
229
\refitem cfg_max_dot_graph_depth MAX_DOT_GRAPH_DEPTH
230
\refitem cfg_max_initializer_lines MAX_INITIALIZER_LINES
231
\refitem cfg_mscfile_dirs MSCFILE_DIRS
232
\refitem cfg_mscgen_path MSCGEN_PATH
233
\refitem cfg_multiline_cpp_is_brief MULTILINE_CPP_IS_BRIEF
234
\refitem cfg_optimize_for_fortran OPTIMIZE_FOR_FORTRAN
235 236
\refitem cfg_optimize_output_for_c OPTIMIZE_OUTPUT_FOR_C
\refitem cfg_optimize_output_java OPTIMIZE_OUTPUT_JAVA
237
\refitem cfg_optimize_output_vhdl OPTIMIZE_OUTPUT_VHDL
238 239 240 241 242
\refitem cfg_output_directory OUTPUT_DIRECTORY
\refitem cfg_output_language OUTPUT_LANGUAGE
\refitem cfg_paper_type PAPER_TYPE
\refitem cfg_pdf_hyperlinks PDF_HYPERLINKS
\refitem cfg_perl_path PERL_PATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
243 244
\refitem cfg_perlmod_latex PERLMOD_LATEX
\refitem cfg_perlmod_makevar_prefix PERLMOD_MAKEVAR_PREFIX
245
\refitem cfg_perlmod_pretty PERLMOD_PRETTY
246
\refitem cfg_predefined PREDEFINED
247 248
\refitem cfg_project_brief PROJECT_BRIEF
\refitem cfg_project_logo PROJECT_LOGO
249 250
\refitem cfg_project_name PROJECT_NAME
\refitem cfg_project_number PROJECT_NUMBER
251
\refitem cfg_qch_file QCH_FILE
252
\refitem cfg_qhg_location QHG_LOCATION
253
\refitem cfg_qhp_cust_filter_attrs QHP_CUST_FILTER_ATTRS
254 255
\refitem cfg_qhp_cust_filter_name QHP_CUST_FILTER_NAME
\refitem cfg_qhp_namespace QHP_NAMESPACE
256
\refitem cfg_qhp_sect_filter_attrs QHP_SECT_FILTER_ATTRS
257
\refitem cfg_qhp_virtual_folder QHP_VIRTUAL_FOLDER
258
\refitem cfg_qt_autobrief QT_AUTOBRIEF
259 260 261
\refitem cfg_quiet QUIET
\refitem cfg_recursive RECURSIVE
\refitem cfg_referenced_by_relation REFERENCED_BY_RELATION
262
\refitem cfg_references_link_source REFERENCES_LINK_SOURCE
263
\refitem cfg_references_relation REFERENCES_RELATION
264 265 266 267 268 269
\refitem cfg_repeat_brief REPEAT_BRIEF
\refitem cfg_rtf_extensions_file RTF_EXTENSIONS_FILE
\refitem cfg_rtf_hyperlinks RTF_HYPERLINKS
\refitem cfg_rtf_output RTF_OUTPUT
\refitem cfg_rtf_stylesheet_file RTF_STYLESHEET_FILE
\refitem cfg_search_includes SEARCH_INCLUDES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
270
\refitem cfg_searchdata_file SEARCHDATA_FILE
271
\refitem cfg_searchengine SEARCHENGINE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
272
\refitem cfg_searchengine_url SEARCHENGINE_URL
273
\refitem cfg_separate_member_pages SEPARATE_MEMBER_PAGES
274
\refitem cfg_server_based_search SERVER_BASED_SEARCH
275
\refitem cfg_short_names SHORT_NAMES
276
\refitem cfg_show_files SHOW_FILES
277
\refitem cfg_show_include_files SHOW_INCLUDE_FILES
278
\refitem cfg_show_namespaces SHOW_NAMESPACES
279
\refitem cfg_show_used_files SHOW_USED_FILES
280
\refitem cfg_sip_support SIP_SUPPORT
281
\refitem cfg_skip_function_macros SKIP_FUNCTION_MACROS
282
\refitem cfg_sort_brief_docs SORT_BRIEF_DOCS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
283 284
\refitem cfg_sort_by_scope_name SORT_BY_SCOPE_NAME
\refitem cfg_sort_group_names SORT_GROUP_NAMES
285
\refitem cfg_sort_member_docs SORT_MEMBER_DOCS
286
\refitem cfg_sort_members_constructors_first SORT_MEMBERS_CTORS_1ST
287
\refitem cfg_source_browser SOURCE_BROWSER
288
\refitem cfg_strict_proto_matching STRICT_PROTO_MATCHING
289
\refitem cfg_strip_code_comments STRIP_CODE_COMMENTS
290
\refitem cfg_strip_from_inc_path STRIP_FROM_INC_PATH
291
\refitem cfg_strip_from_path STRIP_FROM_PATH
292
\refitem cfg_subgrouping SUBGROUPING
293 294
\refitem cfg_tab_size TAB_SIZE
\refitem cfg_tagfiles TAGFILES
295
\refitem cfg_tcl_subst TCL_SUBST
296 297 298
\refitem cfg_template_relations TEMPLATE_RELATIONS
\refitem cfg_toc_expand TOC_EXPAND
\refitem cfg_treeview_width TREEVIEW_WIDTH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
299
\refitem cfg_typedef_hides_struct TYPEDEF_HIDES_STRUCT
300
\refitem cfg_uml_limit_num_fields UML_LIMIT_NUM_FIELDS
301
\refitem cfg_uml_look UML_LOOK
302
\refitem cfg_use_htags USE_HTAGS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
303
\refitem cfg_use_mathjax USE_MATHJAX
304
\refitem cfg_use_mdfile_as_mainpage USE_MDFILE_AS_MAINPAGE
305
\refitem cfg_use_pdflatex USE_PDFLATEX
306 307
\refitem cfg_verbatim_headers VERBATIM_HEADERS
\refitem cfg_warn_format WARN_FORMAT
308
\refitem cfg_warn_if_doc_error WARN_IF_DOC_ERROR
309 310
\refitem cfg_warn_if_undocumented WARN_IF_UNDOCUMENTED
\refitem cfg_warn_logfile WARN_LOGFILE
311
\refitem cfg_warn_no_paramdoc WARN_NO_PARAMDOC
312
\refitem cfg_warnings WARNINGS
313
\refitem cfg_xml_dtd XML_DTD
314
\refitem cfg_xml_output XML_OUTPUT
315
\refitem cfg_xml_programlisting XML_PROGRAMLISTING
316
\refitem cfg_xml_schema XML_SCHEMA
317 318
\endsecreflist

319
\section config_project Project related options
320
\anchor cfg_doxyfile_encoding
Dimitri van Heesch's avatar
Dimitri van Heesch committed
321 322
<dl>

323 324 325 326
<dt>\c DOXYFILE_ENCODING <dd>
 \addindex DOXYFILE_ENCODING
 This tag specifies the encoding used for all characters in the config file that 
 follow. The default is UTF-8 which is also the encoding used for all text before
Dimitri van Heesch's avatar
Dimitri van Heesch committed
327 328
 the first occurrence of this tag. Doxygen uses \c libiconv (or the iconv built into
 \c libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
329 330 331
 possible encodings.

\anchor cfg_project_name
Dimitri van Heesch's avatar
Dimitri van Heesch committed
332 333 334 335 336 337 338
<dt>\c PROJECT_NAME <dd>
 \addindex PROJECT_NAME
 The \c PROJECT_NAME tag is a single word (or a sequence of words
 surrounded by double-quotes) that should identify the project for which the 
 documentation is generated. This name is used in the title of most 
 generated pages and in a few other places.

339
\anchor cfg_project_number
Dimitri van Heesch's avatar
Dimitri van Heesch committed
340 341 342 343 344 345
<dt>\c PROJECT_NUMBER <dd>
 \addindex PROJECT_NUMBER
 The \c PROJECT_NUMBER tag can be used to enter a project or revision number.
 This could be handy for archiving the generated documentation or
 if some version control system is used.

346 347 348 349 350 351 352 353 354 355 356 357 358
\anchor cfg_project_brief
<dt>\c PROJECT_BRIEF <dd>
 Using the \c PROJECT_BRIEF tag one can provide an optional one line description 
 for a project that appears at the top of each page and should give viewer 
 a quick idea about the purpose of the project. Keep the description short. 

\anchor cfg_project_logo
<dt>\c PROJECT_LOGO <dd>
 With the \c PROJECT_LOGO tag one can specify an logo or icon that is 
 included in the documentation. The maximum height of the logo should not 
 exceed 55 pixels and the maximum width should not exceed 200 pixels. 
 Doxygen will copy the logo to the output directory.

359
\anchor cfg_output_directory
Dimitri van Heesch's avatar
Dimitri van Heesch committed
360 361 362
<dt>\c OUTPUT_DIRECTORY <dd> 
 \addindex OUTPUT_DIRECTORY
 The \c OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
363
 path into which the generated documentation will be written. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
364 365 366
 If a relative path is entered, it will be relative to the location 
 where doxygen was started. If left blank the current directory will be used.

367 368 369 370
\anchor cfg_create_subdirs
<dt>\c CREATE_SUBDIRS <dd> 
 \addindex CREATE_SUBDIRS
 If the \c CREATE_SUBDIRS tag is set to \c YES, then doxygen will create
371
 4096 sub-directories (in 2 levels) under the output directory of each output 
372 373 374 375 376
 format and will distribute the generated files over these directories. 
 Enabling this option can be useful when feeding doxygen a huge amount of source
 files, where putting all generated files in the same directory would otherwise
 causes performance problems for the file system. 

377
\anchor cfg_output_language
378 379 380 381 382 383
<dt>\c OUTPUT_LANGUAGE <dd>
 \addindex OUTPUT_LANGUAGE
 The \c OUTPUT_LANGUAGE tag is used to specify the language in which all
 documentation generated by doxygen is written. Doxygen will use this
 information to generate all constant output in the proper language.
 The default language is English, other supported languages are:
384 385
 Afrikaans, Arabic, Brazilian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, 
 Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, 
386 387
 Latvian, Lithuanian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, 
 Serbian,  Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
388

389
\anchor cfg_brief_member_desc
Dimitri van Heesch's avatar
Dimitri van Heesch committed
390 391
<dt>\c BRIEF_MEMBER_DESC <dd>
 \addindex BRIEF_MEMBER_DESC
Dimitri van Heesch's avatar
Dimitri van Heesch committed
392
 If the \c BRIEF_MEMBER_DESC tag is set to \c YES (the default) doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
393
 include brief member descriptions after the members that are listed in
Dimitri van Heesch's avatar
Dimitri van Heesch committed
394
 the file and class documentation (similar to \c Javadoc).
395
 Set to \c NO to disable this.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
396

397
\anchor cfg_repeat_brief
Dimitri van Heesch's avatar
Dimitri van Heesch committed
398 399
<dt>\c REPEAT_BRIEF <dd>
 \addindex REPEAT_BRIEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
400
 If the \c REPEAT_BRIEF tag is set to \c YES (the default) doxygen will 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
401 402 403
 prepend the brief description of a member or function before the detailed 
 description 

404
 \par Note: 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
405 406
 If both \ref cfg_hide_undoc_members "HIDE_UNDOC_MEMBERS" and
 \ref cfg_brief_member_desc "BRIEF_MEMBER_DESC" are set to \c NO, the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
407 408
 brief descriptions will be completely suppressed.

409 410 411 412 413 414
\anchor cfg_abbreviate_brief
<dt>\c ABBREVIATE_BRIEF <dd>
 \addindex ABBREVIATE_BRIEF
 This tag implements a quasi-intelligent brief description abbreviator
 that is used to form the text in various listings. Each string
 in this list, if found as the leading text of the brief description, will be
Dimitri van Heesch's avatar
Dimitri van Heesch committed
415
 stripped from the text and the result, after processing the whole list, is used
416
 as the annotated text. Otherwise, the brief description is used as-is. If left
Dimitri van Heesch's avatar
Dimitri van Heesch committed
417
 blank, the following values are used ("$name" is automatically replaced with the
418 419 420
 name of the entity): "The $name class" "The $name widget" "The $name file"
 "is" "provides" "specifies" "contains" "represents" "a" "an" "the".

Dimitri van Heesch's avatar
Dimitri van Heesch committed
421 422
\anchor cfg_always_detailed_sec
<dt>\c ALWAYS_DETAILED_SEC <dd>
423
 \addindex ALWAYS_DETAILED_SEC
424 425
 If the \c ALWAYS_DETAILED_SEC and \ref cfg_repeat_brief "REPEAT_BRIEF" tags 
 are both set to \c YES then
Dimitri van Heesch's avatar
Dimitri van Heesch committed
426
 doxygen will generate a detailed section even if there is only a brief
427
 description.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
428

Dimitri van Heesch's avatar
Dimitri van Heesch committed
429 430 431 432 433 434 435 436
\anchor cfg_inline_inherited_memb
<dt>\c INLINE_INHERITED_MEMB <dd>
\addindex INLINE_INHERITED_MEMB
 If the \c INLINE_INHERITED_MEMB tag is set to \c YES, doxygen will show all inherited
 members of a class in the documentation of that class as if those members were
 ordinary class members. Constructors, destructors and assignment operators of
 the base classes will not be shown.

437
\anchor cfg_full_path_names
Dimitri van Heesch's avatar
Dimitri van Heesch committed
438 439
<dt>\c FULL_PATH_NAMES <dd>
 \addindex FULL_PATH_NAMES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
440
 If the \c FULL_PATH_NAMES tag is set to \c YES doxygen will prepend the full
Dimitri van Heesch's avatar
Dimitri van Heesch committed
441
 path before files name in the file list and in the header files. If set
442
 to \c NO the shortest path that makes the file name unique will be used
Dimitri van Heesch's avatar
Dimitri van Heesch committed
443

444
\anchor cfg_strip_from_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
445 446
<dt>\c STRIP_FROM_PATH <dd>
 \addindex STRIP_FROM_PATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
447
 If the \ref cfg_full_path_names "FULL_PATH_NAMES" tag is set to \c YES then the \c STRIP_FROM_PATH tag
448
 can be used to strip a user-defined part of the path. Stripping is
449
 only done if one of the specified strings matches the left-hand part of the 
450 451 452 453 454
 path. The tag can be used to show relative paths in the file list.
 If left blank the directory from which doxygen is run is used as the
 path to strip.

\anchor cfg_strip_from_inc_path
455 456
<dt>\c STRIP_FROM_INC_PATH <dd>
 \addindex STRIP_FROM_INC_PATH
457 458 459 460 461
 The \c STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
 the path mentioned in the documentation of a class, which tells
 the reader which header file to include in order to use a class. 
 If left blank only the name of the header file containing the class
 definition is used. Otherwise one should specify the include paths that 
462
 are normally passed to the compiler using the `-I` flag.
463

464 465 466 467 468 469 470
\anchor cfg_short_names
<dt>\c SHORT_NAMES <dd>
 \addindex SHORT_NAMES
 If the \c SHORT_NAMES tag is set to \c YES, doxygen will generate much shorter
 (but less readable) file names. This can be useful is your file systems
 doesn't support long names like on DOS, Mac, or CD-ROM.

471
\anchor cfg_javadoc_autobrief
472
<dt>\c JAVADOC_AUTOBRIEF <dd>
473
 \addindex JAVADOC_AUTOBRIEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
474
  If the \c JAVADOC_AUTOBRIEF is set to \c YES then doxygen
Dimitri van Heesch's avatar
Dimitri van Heesch committed
475
  will interpret the first line (until the first dot) of a Javadoc-style
476
  comment as the brief description. If set to \c NO (the default), the 
477
  Javadoc-style will behave just like regular Qt-style comments
478
  (thus requiring an explicit \ref cmdbrief "\@brief" command for a brief description.)
479 480 481 482 483 484

\anchor cfg_qt_autobrief
<dt>\c QT_AUTOBRIEF <dd>
 \addindex QT_AUTOBRIEF
  If the \c QT_AUTOBRIEF is set to \c YES then doxygen
  will interpret the first line (until the first dot) of a Qt-style
485
  comment as the brief description. If set to \c NO (the default), the
486
  Qt-style will behave just like regular Qt-style comments (thus
Dimitri van Heesch's avatar
Dimitri van Heesch committed
487
  requiring an explicit \ref cmdbrief "\\brief" command for a brief description.)
488

489 490 491 492 493 494 495 496 497 498
\anchor cfg_markdown_support
<dt>\c MARKDOWN_SUPPORT <dd>
 \addindex MARKDOWN_SUPPORT
 If \c MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all 
 comments according to the Markdown format, which allows for more readable 
 documentation. See http://daringfireball.net/projects/markdown/ for details. 
 The output of markdown processing is further processed by doxygen, so you 
 can mix doxygen, HTML, and XML commands with Markdown formatting. 
 Disable only in case of backward compatibilities issues. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
499
\anchor cfg_autolink_support
500
<dt>\c AUTOLINK_SUPPORT <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
501 502 503
 \addindex AUTOLINK_SUPPORT
 When enabled doxygen tries to link words that correspond to documented classes, 
 or namespaces to their corresponding documentation. Such a link can be 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
504
 prevented in individual cases by by putting a \c % sign in front of the word or 
505
 globally by setting \c AUTOLINK_SUPPORT to \c NO.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
506

507 508 509
\anchor cfg_builtin_stl_support
<dt>\c BUILTIN_STL_SUPPORT <dd>
 \addindex BUILTIN_STL_SUPPORT
510
 If you use STL classes (i.e. `std::string`, `std::vector`, etc.) but do not want to
511 512
 include (a tag file for) the STL sources as input, then you should
 set this tag to \c YES in order to let doxygen match functions declarations and
513 514
 definitions whose arguments contain STL classes (e.g. `func(std::string`); versus
 `func(std::string) {}`). This also make the inheritance and collaboration
515 516
 diagrams that involve STL classes more complete and accurate.

517 518 519
\anchor cfg_cpp_cli_support
<dt>\c CPP_CLI_SUPPORT <dd>
 \addindex CPP_CLI_SUPPORT
520
 If you use Microsoft's C++/CLI language, you should set this option to \c YES to
521 522
 enable parsing support.

523 524 525
\anchor cfg_sip_support
<dt>\c SIP_SUPPORT <dd>
 \addindex OPTIMIZE_OUTPUT_SIP
526
 Set the \c SIP_SUPPORT tag to \c YES if your project consists 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
527
 of <a href="http://www.riverbankcomputing.co.uk/software/sip/intro">sip</a> sources only. 
528 529 530
 Doxygen will parse them like normal C++ but will assume all classes use public 
 instead of private inheritance when no explicit protection keyword is present. 

531 532 533
\anchor cfg_idl_property_support
<dt>\c IDL_PROPERTY_SUPPORT <dd>
 \addindex IDL_PROPERTY_SUPPORT
Dimitri van Heesch's avatar
Dimitri van Heesch committed
534
 For Microsoft's IDL there are \c propget and \c propput attributes to indicate getter
535 536 537 538 539 540
 and setter methods for a property. Setting this option to \c YES (the default)
 will make doxygen to replace the get and set methods by a property in the
 documentation. This will only work if the methods are indeed getting or 
 setting a simple type. If this is not the case, or you want to show the 
 methods anyway, you should set this option to \c NO.

541 542 543
\anchor cfg_distribute_group_doc
<dt>\c DISTRIBUTE_GROUP_DOC <dd>
 \addindex DISTRIBUTE_GROUP_DOC
544 545
 If member grouping is used in the documentation and the \c DISTRIBUTE_GROUP_DOC
 tag is set to \c YES, then doxygen will reuse the documentation of the first
546 547 548
 member in the group (if any) for the other members of the group. By default
 all members of a group must be documented explicitly.

549 550 551
\anchor cfg_multiline_cpp_is_brief
<dt>\c MULTILINE_CPP_IS_BRIEF <dd>
 \addindex MULTILINE_CPP_IS_BRIEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
552 553
  The \c MULTILINE_CPP_IS_BRIEF tag can be set to \c YES to make doxygen
  treat a multi-line C++ special comment block (i.e. a block of \c //! or \c ///
554
  comments) as a brief description. This used to be the default behavior.
555
  The new default is to treat a multi-line C++ comment block as a detailed
556 557
  description. Set this tag to \c YES if you prefer the old behavior instead.
  Note that setting this tag to \c YES also means that rational rose comments
558
  are not recognized any more.
559

560
<!--
Dimitri van Heesch's avatar
Dimitri van Heesch committed
561 562 563
\anchor cfg_details_at_top
<dt>\c DETAILS_AT_TOP <dd>
 \addindex DETAILS_AT_TOP
Dimitri van Heesch's avatar
Dimitri van Heesch committed
564 565
  If the \c DETAILS_AT_TOP tag is set to \c YES then doxygen
  will output the detailed description near the top, like \c Javadoc.
566
  If set to \c NO, the detailed description appears after the member
Dimitri van Heesch's avatar
Dimitri van Heesch committed
567
  documentation.
568
-->
Dimitri van Heesch's avatar
Dimitri van Heesch committed
569

570 571 572 573 574
\anchor cfg_inherit_docs
<dt>\c INHERIT_DOCS <dd>
 \addindex INHERIT_DOCS
 If the \c INHERIT_DOCS tag is set to \c YES (the default) then an undocumented
 member inherits the documentation from any documented member that it
575
 re-implements.
576

577 578 579 580 581 582 583
\anchor cfg_separate_member_pages
<dt>\c SEPARATE_MEMBER_PAGES <dd>
 \addindex SEPARATE_MEMBER_PAGES
 If the \c SEPARATE_MEMBER_PAGES tag is set to \c YES, then doxygen will produce
 a new page for each member. If set to \c NO, the documentation of a member will
 be part of the file/class/namespace that contains it.

584 585
\anchor cfg_tab_size
<dt>\c TAB_SIZE <dd>
586 587 588
 \addindex TAB_SIZE
 the \c TAB_SIZE tag can be used to set the number of spaces in a tab.
 Doxygen uses this value to replace tabs by spaces in code fragments.
589

590 591 592 593 594 595 596 597 598 599 600 601 602
\anchor cfg_aliases
<dt>\c ALIASES <dd>
 \addindex ALIASES
 This tag can be used to specify a number of aliases that acts 
 as commands in the documentation. An alias has the form 
\verbatim
 name=value
\endverbatim
 For example adding 
\verbatim
 "sideeffect=\par Side Effects:\n" 
\endverbatim
 will allow you to
603
 put the command \c \\sideeffect (or \c \@sideeffect) in the documentation, which 
604
 will result in a user-defined paragraph with heading "Side Effects:".
Dimitri van Heesch's avatar
Dimitri van Heesch committed
605
 You can put \ref cmdn "\\n"'s in the value part of an alias to insert newlines.
606

607 608 609 610
\anchor cfg_tcl_subst
<dt>\c TCL_SUBST <dd>
 \addindex TCL_SUBST
 This tag can be used to specify a number of word-keyword mappings (TCL only). 
611 612 613
 A mapping has the form <code>"name=value"</code>. For example adding 
 <code>"class=itcl::class"</code> will allow you to use the command class in the 
 <code>itcl::class</code> meaning.
614

615 616 617 618 619 620 621 622 623 624 625
\anchor cfg_optimize_output_for_c
<dt>\c OPTIMIZE_OUTPUT_FOR_C <dd>
 \addindex OPTIMIZE_OUTPUT_FOR_C
 Set the \c OPTIMIZE_OUTPUT_FOR_C tag to \c YES if your project consists 
 of C sources only. Doxygen will then generate output that is more tailored 
 for C. For instance, some of the names that are used will be different. 
 The list of all members will be omitted, etc. 

\anchor cfg_optimize_output_java
<dt>\c OPTIMIZE_OUTPUT_JAVA <dd>
 \addindex OPTIMIZE_OUTPUT_JAVA
626
 Set the \c OPTIMIZE_OUTPUT_JAVA tag to \c YES if your project consists of Java or
627 628 629
 Python sources only. Doxygen will then generate output that is more tailored 
 for that language. For instance, namespaces will be presented as packages, 
 qualified scopes will look different, etc. 
630

631 632 633
\anchor cfg_optimize_for_fortran
<dt>\c OPTIMIZE_FOR_FORTRAN <dd>
 \addindex OPTIMIZE_FOR_FORTRAN
634 635
 Set the \c OPTIMIZE_FOR_FORTRAN tag to \c YES if your project consists of Fortran 
 sources. Doxygen will then generate output that is tailored for Fortran.
636 637 638 639

\anchor cfg_optimize_output_vhdl
<dt>\c OPTIMIZE_OUTPUT_VHDL <dd>
 \addindex OPTIMIZE_OUTPUT_VHDL
640 641 642 643 644 645 646 647 648 649 650
 Set the \c OPTIMIZE_OUTPUT_VHDL tag to \c YES if your project consists of VHDL 
 sources. Doxygen will then generate output that is tailored for VHDL.

\anchor cfg_extension_mapping
<dt>\c EXTENSION_MAPPING <dd>
 \addindex EXTENSION_MAPPING
 Doxygen selects the parser to use depending on the extension of the files it parses.
 With this tag you can assign which parser to use for a given extension.
 Doxygen has a built-in mapping, but you can override or extend it using this tag.
 The format is ext=language, where ext is a file extension, and language is one of
 the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
651 652 653
 Objective-C, Python, Fortran, VHDL. 

 For instance to make doxygen treat
654
 <code>.inc</code> files as Fortran files (default is PHP), and <code>.f</code> files as C (default is Fortran),
Dimitri van Heesch's avatar
Dimitri van Heesch committed
655 656 657
 use: `inc=Fortran f=C`.

 For files without extension you can use `no_extension` as a placeholder.
658

659 660 661 662 663 664 665 666 667
\anchor cfg_subgrouping
<dt>\c SUBGROUPING <dd>
 \addindex SUBGROUPING
 Set the \c SUBGROUPING tag to \c YES (the default) to allow class member groups of
 the same type (for instance a group of public functions) to be put as a
 subgroup of that type (e.g. under the Public Functions section). Set it to
 \c NO to prevent subgrouping. Alternatively, this can be done per class using
 the \ref cmdnosubgrouping "\\nosubgrouping" command. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
668 669 670 671 672
\anchor cfg_inline_grouped_classes
<dt>\c INLINE_GROUPED_CLASSES <dd>
 \addindex INLINE_GROUPED_CLASSES
When the \c INLINE_GROUPED_CLASSES tag is set to \c YES, classes, structs and 
unions are shown inside the group in which they are included 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
673 674
(e.g. using \ref cmdingroup "\\ingroup") instead of on a separate page (for HTML and Man pages) 
or section (for \f$\mbox{\LaTeX}\f$ and RTF). Note that this feature does not work in
Dimitri van Heesch's avatar
Dimitri van Heesch committed
675 676
combination with \ref cfg_separate_member_pages "SEPARATE_MEMBER_PAGES".

677 678 679 680 681 682 683
\anchor cfg_inline_simple_structs
<dt>\c INLINE_SIMPLE_STRUCTS <dd>
 \addindex INLINE_SIMPLE_STRUCTS
When the \c INLINE_SIMPLE_STRUCTS tag is set to \c YES, structs, classes, and 
unions with only public data fields or simple typedef fields will be shown 
inline in the documentation of the scope in which they are defined (i.e. file, 
namespace, or group documentation), provided this scope is documented. If set 
684
to \c NO (the default), structs, classes, and unions are shown on a separate 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
685
page (for HTML and Man pages) or section (for \f$\mbox{\LaTeX}\f$ and RTF).
686

Dimitri van Heesch's avatar
Dimitri van Heesch committed
687 688 689
\anchor cfg_typedef_hides_struct 
<dt>\c TYPEDEF_HIDES_STRUCT <dd>
 \addindex TYPEDEF_HIDES_STRUCT
690 691 692 693 694 695 696
 When \c TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
 is documented as struct, union, or enum with the name of the typedef. So 
 <code>typedef struct TypeS {} TypeT</code>, will appear in the documentation as a struct 
 with name \c TypeT. When disabled the typedef will appear as a member of a file, 
 namespace, or class. And the struct will be named \c TypeS. This can typically 
 be useful for C code in case the coding convention dictates that all compound 
 types are typedef'ed and only the typedef is referenced, never the tag name.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
697

Dimitri van Heesch's avatar
Dimitri van Heesch committed
698 699 700
\anchor cfg_lookup_cache_size
<dt>\c LOOKUP_CACHE_SIZE <dd>
 \addindex LOOKUP_CACHE_SIZE
701
 The size of the symbol lookup cache can be 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
702 703
 set using \c LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 
 their name and scope. Since this can be an expensive process and often the 
704
 same symbol appears multiple times in the code, doxygen keeps a cache of 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
705 706 707 708
 pre-resolved symbols. If the cache is too small doxygen will become slower. 
 If the cache is too large, memory is wasted. The cache size is given by this 
 formula: \f$2^{(16+\mbox{LOOKUP\_CACHE\_SIZE})}\f$. The valid range is 0..9, the default is 0, 
 corresponding to a cache size of \f$2^{16} = 65536\f$ symbols. 
709 710
 At the end of a run doxygen will report the cache usage and suggest the
 optimal cache size from a speed point of view.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
711

712 713 714 715 716 717 718 719 720 721 722
</dl>

\section config_build Build related options
\anchor cfg_extract_all
<dl>

<dt>\c EXTRACT_ALL <dd>
 \addindex EXTRACT_ALL
 If the \c EXTRACT_ALL tag is set to \c YES doxygen will assume all 
 entities in documentation are documented, even if no documentation was 
 available. Private class members and static file members will be hidden 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
723 724
 unless the \ref cfg_extract_private "EXTRACT_PRIVATE" respectively 
 \ref cfg_extract_static "EXTRACT_STATIC" tags are set to \c YES
725

Dimitri van Heesch's avatar
Dimitri van Heesch committed
726 727 728
 \note This will also disable the warnings about undocumented members 
 that are normally produced when \ref cfg_warnings "WARNINGS" is 
 set to \c YES
729 730 731 732 733 734 735

\anchor cfg_extract_private
<dt>\c EXTRACT_PRIVATE <dd>
 \addindex EXTRACT_PRIVATE
 If the \c EXTRACT_PRIVATE tag is set to \c YES all private members of a 
 class will be included in the documentation.

736 737 738 739 740 741
\anchor cfg_extract_package
<dt>\c EXTRACT_PACKAGE <dd>
 \addindex EXTRACT_PACKAGE
 If the \c EXTRACT_PACKAGE tag is set to \c YES all members with package 
 or internal scope will be included in the documentation. 

742 743 744 745 746 747 748 749 750 751 752
\anchor cfg_extract_static
<dt>\c EXTRACT_STATIC <dd>
 \addindex EXTRACT_STATIC
 If the \c EXTRACT_STATIC tag is set to \c YES all static members of a file
 will be included in the documentation.

\anchor cfg_extract_local_classes
<dt>\c EXTRACT_LOCAL_CLASSES <dd>
 \addindex EXTRACT_LOCAL_CLASSES
 If the \c EXTRACT_LOCAL_CLASSES tag is set to \c YES classes (and structs) 
 defined locally in source files will be included in the documentation. 
753
 If set to \c NO only classes defined in header files are included. Does not
754 755
 have any effect for Java sources.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
756 757 758
\anchor cfg_extract_anon_nspaces
<dt>\c EXTRACT_ANON_NSPACES <dd>
 \addindex EXTRACT_ANON_NSPACES
759
 If this flag is set to \c YES, the members of anonymous namespaces will be extracted
Dimitri van Heesch's avatar
Dimitri van Heesch committed
760 761 762 763
 and appear in the documentation as a namespace called 'anonymous_namespace{file}',
 where file will be replaced with the base name of the file that contains the anonymous
 namespace. By default anonymous namespace are hidden.

764 765 766 767 768 769 770 771
\anchor cfg_extract_local_methods
<dt>\c EXTRACT_LOCAL_METHODS <dd>
 \addindex EXTRACT_LOCAL_METHODS
 This flag is only useful for Objective-C code. When set to \c YES local 
 methods, which are defined in the implementation section but not in
 the interface are included in the documentation.
 If set to \c NO (the default) only methods in the interface are included.

772 773 774 775 776 777 778
\anchor cfg_hide_undoc_members
<dt>\c HIDE_UNDOC_MEMBERS <dd>
 \addindex HIDE_UNDOC_MEMBERS
 If the \c HIDE_UNDOC_MEMBERS tag is set to \c YES, doxygen will hide all
 undocumented members inside documented classes or files. 
 If set to \c NO (the default) these members will be included in the
 various overviews, but no documentation section is generated.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
779
 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
780 781 782 783 784 785 786 787

\anchor cfg_hide_undoc_classes
<dt>\c HIDE_UNDOC_CLASSES <dd>
 \addindex HIDE_UNDOC_CLASSES
 If the \c HIDE_UNDOC_CLASSESS tag is set to \c YES, doxygen will hide all
 undocumented classes.
 If set to \c NO (the default) these classes will be included in the
 various overviews.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
788
 This option has no effect if \ref cfg_extract_all "EXTRACT_ALL" is enabled.
789 790 791 792

\anchor cfg_hide_friend_compounds
<dt>\c HIDE_FRIEND_COMPOUNDS <dd>
 \addindex HIDE_FRIEND_COMPOUNDS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
793
 If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, doxygen will hide all
794 795 796 797 798 799 800
 friend (class|struct|union) declarations.
 If set to \c NO (the default) these declarations will be included in the
 documentation.
 
\anchor cfg_hide_in_body_docs
<dt>\c HIDE_IN_BODY_DOCS <dd>
 \addindex HIDE_IN_BODY_DOCS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
801
If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, doxygen will hide any 
802 803 804 805 806 807 808 809 810 811 812 813
documentation blocks found inside the body of a function.
If set to \c NO (the default) these blocks will be appended to the 
function's detailed documentation block.
 
\anchor cfg_internal_docs
<dt>\c INTERNAL_DOCS <dd>
 \addindex INTERNAL_DOCS
 The \c INTERNAL_DOCS tag determines if documentation
 that is typed after a \ref cmdinternal "\\internal" command is included. If the tag is set
 to \c NO (the default) then the documentation will be excluded.
 Set it to \c YES to include the internal documentation.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
814 815 816 817 818 819 820 821
\anchor cfg_case_sense_names
<dt>\c CASE_SENSE_NAMES <dd>
 \addindex CASE_SENSE_NAMES
 If the \c CASE_SENSE_NAMES tag is set to \c NO then doxygen
 will only generate file names in lower-case letters. If set to
 \c YES upper-case letters are also allowed. This is useful if you have
 classes or files whose names only differ in case and if your file system
 supports case sensitive file names. Windows users are advised to set this
822
 option to \c NO.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
823

824 825 826 827 828 829 830 831 832 833
\anchor cfg_hide_scope_names
<dt>\c HIDE_SCOPE_NAMES <dd>
 \addindex HIDE_SCOPE_NAMES
 If the \c HIDE_SCOPE_NAMES tag is set to \c NO (the default) then doxygen 
 will show members with their full class and namespace scopes in the
 documentation. If set to \c YES the scope will be hidden. 

\anchor cfg_show_include_files
<dt>\c SHOW_INCLUDE_FILES <dd>
 \addindex SHOW_INCLUDE_FILES
834
 If the SHOW_INCLUDE_FILES tag is set to \c YES (the default) then doxygen
835 836 837
 will put a list of the files that are included by a file in the documentation 
 of that file.

838 839 840
\anchor cfg_force_local_includes
<dt>\c FORCE_LOCAL_INCLUDES <dd>
 \addindex FORCE_LOCAL_INCLUDES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
841
 If the \c FORCE_LOCAL_INCLUDES tag is set to \c YES then doxygen 
842 843 844
 will list include files with double quotes in the documentation 
 rather than with sharp brackets.

845 846 847 848 849 850 851 852 853 854 855 856 857
\anchor cfg_inline_info
<dt>\c INLINE_INFO <dd>
 \addindex INLINE_INFO 
 If the \c INLINE_INFO tag is set to \c YES (the default) then a tag [inline]
 is inserted in the documentation for inline members.

\anchor cfg_sort_member_docs
<dt>\c SORT_MEMBER_DOCS <dd>
 \addindex SORT_MEMBER_DOCS
 If the \c SORT_MEMBER_DOCS tag is set to \c YES (the default) then doxygen
 will sort the (detailed) documentation of file and class members
 alphabetically by member name. If set to \c NO the members will appear in
 declaration order.
858

859 860 861 862 863 864 865 866
\anchor cfg_sort_brief_docs
<dt>\c SORT_BRIEF_DOCS <dd>
 \addindex SORT_BRIEF_DOCS
 If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the
 brief descriptions of file, namespace and class members alphabetically
 by member name. If set to \c NO (the default) the members will appear in
 declaration order.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
867 868 869 870 871 872 873 874 875 876 877 878 879

\anchor cfg_sort_group_names
<dt>\c SORT_GROUP_NAMES <dd>
 \addindex SORT_GROUP_NAMES
 If the \c SORT_GROUP_NAMES tag is set to \c YES then doxygen will sort the 
 hierarchy of group names into alphabetical order. If set to \c NO (the default)
 the group names will appear in their defined order. 

\anchor cfg_sort_by_scope_name
<dt>\c SORT_BY_SCOPE_NAME <dd>
 \addindex SORT_BY_SCOPE_NAME
 If the \c SORT_BY_SCOPE_NAME tag is set to \c YES, the class list will be
 sorted by fully-qualified names, including namespaces. If set to
Dimitri van Heesch's avatar
Dimitri van Heesch committed
880
 \c NO (the default), the class list will be sorted only by class name,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
881
 not including the namespace part.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
882
 @note This option is not very useful if \ref cfg_hide_scope_names "HIDE_SCOPE_NAMES" is set to \c YES.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
883 884 885
 @note This option applies only to the class list, not to the 
       alphabetical list.

886 887 888 889 890
\anchor cfg_sort_members_constructors_first
<dt>\c SORT_MEMBERS_CTORS_1ST <dd>
 \addindex SORT_MEMBERS_CTORS_1ST
 If the \c SORT_MEMBERS_CTORS_1ST tag is set to \c YES then doxygen
 will sort the (brief and detailed) documentation of class members so that
891
 constructors and destructors are listed first. If set to \c NO (the default)
892
 the constructors will appear in the respective orders defined by
893
 \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" and \ref cfg_sort_member_docs "SORT_MEMBER_DOCS".
Dimitri van Heesch's avatar
Dimitri van Heesch committed
894
 @note If \ref cfg_sort_brief_docs "SORT_BRIEF_DOCS" is set to \c NO this option is ignored for
895
       sorting brief member documentation.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
896
 @note If \ref cfg_sort_member_docs "SORT_MEMBER_DOCS" is set to \c NO this option is ignored for
897
       sorting detailed member documentation.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
898

899 900 901
\anchor cfg_generate_deprecatedlist
<dt>\c GENERATE_DEPRECATEDLIST <dd>
 \addindex GENERATE_DEPRECATEDLIST
902
 The \c GENERATE_DEPRECATEDLIST tag can be used to enable (\c YES) or
Dimitri van Heesch's avatar
Dimitri van Heesch committed
903
 disable (\c NO) the deprecated list. This list is created by 
904 905 906
 putting \ref cmddeprecated "\\deprecated"
 commands in the documentation.

907 908 909 910 911 912 913 914 915 916
\anchor cfg_strict_proto_matching
<dt>\c STRICT_PROTO_MATCHING <dd>
 \addindex STRICT_PROTO_MATCHING
 If the \c STRICT_PROTO_MATCHING option is enabled and doxygen fails to
 do proper type resolution of all parameters of a function it will reject a  
 match between the prototype and the implementation of a member function even
 if there is only one candidate or it is obvious which candidate to choose
 by doing a simple string match. By disabling \c STRICT_PROTO_MATCHING doxygen 
 will still accept a match between prototype and implementation in such cases.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
917 918 919
\anchor cfg_generate_todolist
<dt>\c GENERATE_TODOLIST <dd>
 \addindex GENERATE_TODOLIST
920
 The \c GENERATE_TODOLIST tag can be used to enable (\c YES) or
Dimitri van Heesch's avatar
Dimitri van Heesch committed
921
 disable (\c NO) the todo list. This list is created by 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
922 923 924 925 926 927
 putting \ref cmdtodo "\\todo"
 commands in the documentation.

\anchor cfg_generate_testlist
<dt>\c GENERATE_TESTLIST <dd>
 \addindex GENERATE_TESTLIST
928
 The \c GENERATE_TESTLIST tag can be used to enable (\c YES) or
Dimitri van Heesch's avatar
Dimitri van Heesch committed
929
 disable (\c NO) the test list. This list is created by 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
930 931
 putting \ref cmdtest "\\test" commands in the documentation.

932 933 934
\anchor cfg_generate_buglist
<dt>\c GENERATE_BUGLIST <dd>
 \addindex GENERATE_BUGLIST
935
 The \c GENERATE_BUGLIST tag can be used to enable (\c YES) or
Dimitri van Heesch's avatar
Dimitri van Heesch committed
936
 disable (\c NO) the bug list. This list is created by 
937 938
 putting \ref cmdbug "\\bug" commands in the documentation.

939 940 941 942 943
\anchor cfg_enabled_sections
<dt>\c ENABLED_SECTIONS <dd>
 \addindex ENABLED_SECTIONS
 The \c ENABLED_SECTIONS tag can be used to enable conditional
 documentation sections, marked by \ref cmdif "\\if" \<section-label\> ... 
944 945
 \ref cmdendif "\\endif" and \ref cmdcond "\\cond" \<section-label\> ...
 \ref cmdendcond "\\endcond" blocks.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
946

Dimitri van Heesch's avatar
Dimitri van Heesch committed
947 948 949 950 951 952 953 954
\anchor cfg_max_initializer_lines
<dt>\c MAX_INITIALIZER_LINES <dd>
 \addindex MAX_INITIALIZER_LINES
 The \c MAX_INITIALIZER_LINES tag determines the maximum number of lines
 that the initial value of a variable or define can be. If the initializer
 consists of more lines than specified here it will be hidden. Use a value
 of 0 to hide initializers completely. The appearance of the value of
 individual variables and defines can be controlled using \ref cmdshowinitializer "\\showinitializer"
955
 or \ref cmdhideinitializer "\\hideinitializer" command in the documentation.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
956

957 958 959 960 961 962 963
\anchor cfg_show_used_files
<dt>\c SHOW_USED_FILES <dd>
 \addindex SHOW_USED_FILES
 Set the \c SHOW_USED_FILES tag to \c NO to disable the list of files generated
 at the bottom of the documentation of classes and structs. If set to \c YES the
 list will mention the files that were used to generate the documentation.

964 965 966 967 968 969 970 971 972 973 974 975 976 977
\anchor cfg_show_files
<dt>\c SHOW_FILES <dd>
 \addindex SHOW_FILES
 Set the \c SHOW_FILES tag to \c NO to disable the generation of the Files page.
 This will remove the Files entry from the Quick Index and from the
 Folder Tree View (if specified). The default is \c YES.

\anchor cfg_show_namespaces
<dt>\c SHOW_NAMESPACES <dd>
 \addindex SHOW_NAMESPACES
 Set the \c SHOW_NAMESPACES tag to \c NO to disable the generation of the
 Namespaces page.  This will remove the Namespaces entry from the Quick Index
 and from the Folder Tree View (if specified). The default is \c YES.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
978 979 980 981 982 983
\anchor cfg_file_version_filter
<dt>\c FILE_VERSION_FILTER <dd>
 \addindex FILE_VERSION_FILTER
 The \c FILE_VERSION_FILTER tag can be used to specify a program or script that
 doxygen should invoke to get the current version for each file (typically from the
 version control system). Doxygen will invoke the program by executing (via
Dimitri van Heesch's avatar
Dimitri van Heesch committed
984
 <code>popen()</code>) the command <code>command input-file</code>, where \c command is 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014
 the value of the \c FILE_VERSION_FILTER tag, and \c input-file is the name 
 of an input file provided by doxygen. 
 Whatever the program writes to standard output is used as the file version. 

Example of using a shell script as a filter for Unix:
\verbatim
 FILE_VERSION_FILTER = "/bin/sh versionfilter.sh"
\endverbatim

Example shell script for CVS:
\verbatim
#!/bin/sh
cvs status $1 | sed -n 's/^[ \]*Working revision:[ \t]*\([0-9][0-9\.]*\).*/\1/p'
\endverbatim 
 
Example shell script for Subversion:
\verbatim
#!/bin/sh
svn stat -v $1 | sed -n 's/^[ A-Z?\*|!]\{1,15\}/r/;s/ \{1,15\}/\/r/;s/ .*//p'
\endverbatim

Example filter for ClearCase:
\verbatim
FILE_VERSION_INFO = "cleartool desc -fmt \%Vn"
\endverbatim

\anchor cfg_layout_file
<dt>\c LAYOUT_FILE <dd>
 The \c LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
 doxygen. The layout file controls the global structure of the generated output files
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1015
 in an output format independent way. To create the layout file that represents
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1016
 doxygen's defaults, run doxygen with the -l option. You can optionally specify a
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1017
 file name after the option, if omitted \c DoxygenLayout.xml will be used as the name
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1018
 of the layout file. Note that if you run doxygen from a directory containing 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1019
 a file called \c DoxygenLayout.xml, doxygen will parse it automatically even if 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1020 1021
 the \c LAYOUT_FILE tag is left empty.

1022 1023 1024 1025
\anchor cfg_cite_bib_files
<dt>\c CITE_BIB_FILES <dd>
 \addindex CITE_BIB_FILES
 The \c CITE_BIB_FILES tag can be used to specify one or more bib files 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1026 1027 1028 1029
 containing the reference definitions. This must be a list of <code>.bib</code> files. The 
 <code>.bib</code> extension is automatically appended if omitted. This requires the 
 \c bibtex tool to be installed. See also http://en.wikipedia.org/wiki/BibTeX 
 for more info. For \f$\mbox{\LaTeX}\f$ the style of the bibliography can be controlled 
1030 1031 1032
 using \ref cfg_latex_bib_style "LATEX_BIB_STYLE". See 
 also \ref cmdcite "\\cite" for info how to create references.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1033 1034
</dl>

1035
\section messages_input Options related to warning and progress messages 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057
\anchor cfg_quiet
<dl>

<dt>\c QUIET <dd>
 \addindex QUIET
 The \c QUIET tag can be used to turn on/off the messages that are generated
 to standard output by doxygen. Possible values are \c YES and \c NO, 
 where \c YES implies that the messages are off.
 If left blank \c NO is used.

\anchor cfg_warnings
<dt>\c WARNINGS <dd>
 \addindex WARNINGS
 The \c WARNINGS tag can be used to turn on/off the warning messages that are
 generated to standard error by doxygen. Possible values are \c YES and \c NO, 
 where \c YES implies that the warnings are on. If left blank \c NO is used.

 \b Tip: Turn warnings on while writing the documentation.

\anchor cfg_warn_if_undocumented
<dt>\c WARN_IF_UNDOCUMENTED <dd>
 \addindex WARN_IF_UNDOCUMENTED
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1058
 If \c WARN_IF_UNDOCUMENTED is set to \c YES, then doxygen will generate warnings
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1059
 for undocumented members. If \ref cfg_extract_all "EXTRACT_ALL" is set to \c YES then this flag will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1060 1061
 automatically be disabled.

1062 1063
\anchor cfg_warn_if_doc_error
<dt>\c WARN_IF_DOC_ERROR <dd>
1064
 \addindex WARN_IF_DOC_ERROR
1065 1066 1067 1068 1069
 If \c WARN_IF_DOC_ERROR is set to \c YES, doxygen will generate warnings for
 potential errors in the documentation, such as not documenting some
 parameters in a documented function, or documenting parameters that
 don't exist or using markup commands wrongly. 

1070
\anchor cfg_warn_no_paramdoc
1071 1072
<dt>\c WARN_NO_PARAMDOC <dd>
 \addindex WARN_NO_PARAMDOC
1073
 This \c WARN_NO_PARAMDOC option can be enabled to get warnings for 
1074 1075 1076 1077
 functions that are documented, but have no documentation for their parameters
 or return value. If set to \c NO (the default) doxygen will only warn about
 wrong or incomplete parameter documentation, but not about the absence of
 documentation.
1078

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1079 1080 1081
\anchor cfg_warn_format
<dt>\c WARN_FORMAT <dd>
 \addindex WARN_FORMAT
1082
 The \c WARN_FORMAT tag determines the format of the warning messages that
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1083 1084
 doxygen can produce. The string should contain the <code>\$file</code>, 
 <code>\$line</code>, and <code>\$text</code> 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1085 1086 1087
 tags, which will be replaced by the file and line number from which the
 warning originated and the warning text.

1088 1089 1090 1091 1092
\anchor cfg_warn_logfile
<dt>\c WARN_LOGFILE <dd>
 \addindex WARN_LOGFILE
 The \c WARN_LOGFILE tag can be used to specify a file to which warning
 and error messages should be written. If left blank the output is written 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1093
 to \c stderr.
1094

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1095 1096
</dl>

1097
\section config_input Input related options
1098
\anchor cfg_input
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1099 1100 1101 1102 1103 1104 1105 1106 1107
<dl>

<dt>\c INPUT <dd>
 \addindex INPUT
 The \c INPUT tag is used to specify the files and/or directories that contain 
 documented source files. You may enter file names like 
 \c myfile.cpp or directories like \c /usr/src/myproject. 
 Separate the files or directories with spaces.<br>

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1108
 \note If this tag is empty the current directory is searched.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1109

1110
\anchor cfg_input_encoding
1111 1112
<dt>\c INPUT_ENCODING <dd>
 \addindex INPUT_ENCODING
1113 1114
 This tag can be used to specify the character encoding of the source files that 
 doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default 
1115
 input encoding. Doxygen uses `libiconv` (or the `iconv` built into `libc`) for the transcoding. 
1116 1117 1118
 See <a href="http://www.gnu.org/software/libiconv">the libiconv documentation</a> for 
 the list of possible encodings.

1119
\anchor cfg_file_patterns
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1120 1121
<dt>\c FILE_PATTERNS <dd>
 \addindex FILE_PATTERNS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1122
 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1123
 \c FILE_PATTERNS tag to specify one or more wildcard patterns 
1124
 (like `*.cpp` and `*.h`) to filter out the source-files 
1125 1126
 in the directories. If left blank the following patterns are tested:
 <code>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1127
 *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
1128 1129
 *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.markdown *.md 
 *.mm *.dox *.py *.f90 *.f *.vhd *.vhdl
1130
 </code>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1131

1132
\anchor cfg_recursive
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1133 1134 1135 1136 1137 1138
<dt>\c RECURSIVE <dd>
 \addindex RECURSIVE
 The \c RECURSIVE tag can be used to specify whether or not subdirectories
 should be searched for input files as well. Possible values are \c YES 
 and \c NO.  If left blank \c NO is used.

1139
\anchor cfg_exclude
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1140 1141
<dt>\c EXCLUDE <dd>
 \addindex EXCLUDE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1142
 The \c EXCLUDE tag can be used to specify files and/or directories that should be
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1143 1144
 excluded from the \ref cfg_input "INPUT" source files. This way you can easily exclude a
 subdirectory from a directory tree whose root is specified with the \ref cfg_input "INPUT" tag.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1145
 Note that relative paths are relative to the directory from which doxygen is run.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1146

1147 1148 1149
\anchor cfg_exclude_symlinks
<dt>\c EXCLUDE_SYMLINKS <dd>
 \addindex EXCLUDE_SYMLINKS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1150
 The \c EXCLUDE_SYMLINKS tag can be used to select whether or not files or directories 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1151
 that are symbolic links (a Unix file system feature) are excluded from the input.
1152

1153
\anchor cfg_exclude_patterns
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1154 1155
<dt>\c EXCLUDE_PATTERNS <dd>
 \addindex EXCLUDE_PATTERNS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1156
 If the value of the \ref cfg_input "INPUT" tag contains directories, you can use the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1157 1158 1159
 \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
 certain files from those directories.

1160 1161 1162 1163 1164
\anchor cfg_exclude_symbols
<dt>\c EXCLUDE_SYMBOLS <dd>
The \c EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
(namespaces, classes, functions, etc.) that should be excluded from the 
output. The symbol name can be a fully qualified name, a word, or if the 
1165 1166
wildcard `*` is used, a substring. Examples: `ANamespace`, `AClass`, 
`AClass::ANamespace`, `ANamespace::*Test` 
1167

1168 1169
 Note that the wildcards are matched against the file with absolute path, 
 so to exclude all test directories use the pattern 
1170
 `*``/test/``*`
1171

1172
\anchor cfg_example_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1173 1174 1175 1176
<dt>\c EXAMPLE_PATH <dd>
 \addindex EXAMPLE_PATH
 The \c EXAMPLE_PATH tag can be used to specify one or more files or
 directories that contain example code fragments that are included (see
1177
 the \ref cmdinclude "\\include" command).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1178

1179 1180 1181 1182
\anchor cfg_example_recursive
<dt>\c EXAMPLE_RECURSIVE <dd>
 \addindex EXAMPLE_RECURSIVE
 If the \c EXAMPLE_RECURSIVE tag is set to \c YES then subdirectories will be
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1183 1184
 searched for input files to be used with the \ref cmdinclude "\\include" or
 \ref cmddontinclude "\\dontinclude" 
1185
 commands irrespective of the value of the \ref cfg_recursive "RECURSIVE" tag. 
1186 1187
 Possible values are \c YES and \c NO. If left blank \c NO is used. 

1188 1189 1190
\anchor cfg_example_patterns
<dt>\c EXAMPLE_PATTERNS <dd>
 \addindex EXAMPLE_PATTERNS
1191 1192
 If the value of the \ref cfg_example_path "EXAMPLE_PATH" tag contains directories, 
 you can use the
1193 1194
 \c EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like `*.cpp`
 and `*.h`) to filter out the source-files in the directories. If left
1195 1196 1197 1198 1199 1200 1201
 blank all files are included.

\anchor cfg_image_path
<dt>\c IMAGE_PATH <dd>
 \addindex IMAGE_PATH
 The \c IMAGE_PATH tag can be used to specify one or more files or
 directories that contain images that are to be included in the 
1202
 documentation (see the \ref cmdimage "\\image" command).
1203

1204
\anchor cfg_input_filter
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1205 1206 1207 1208
<dt>\c INPUT_FILTER <dd>
 \addindex INPUT_FILTER
 The \c INPUT_FILTER tag can be used to specify a program that doxygen should
 invoke to filter for each input file. Doxygen will invoke the filter program
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1209
 by executing (via <code>popen()</code>) the command:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1210 1211 1212
\verbatim <filter> <input-file>
\endverbatim
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1213 1214
 where <code>\<filter\></code>
 is the value of the \c INPUT_FILTER tag, and <code>\<input-file\></code> is the name of an
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1215 1216 1217
 input file. Doxygen will then use the output that the filter program writes
 to standard output.

1218 1219 1220 1221 1222 1223
\anchor cfg_filter_patterns
<dt>\c FILTER_PATTERNS <dd>
 \addindex FILTER_PATTERNS
 The \c FILTER_PATTERNS tag can be used to specify filters on a per file pattern
 basis.  Doxygen will compare the file name with each pattern and apply the
 filter if there is a match.  The filters are a list of the form:
1224
 pattern=filter (like `*.cpp=my_cpp_filter`). See \ref cfg_input_filter "INPUT_FILTER" for further
1225
 info on how filters are used. If \c FILTER_PATTERNS is empty or if
1226 1227
 none of the patterns match the file name, \ref cfg_input_filter "INPUT_FILTER" is 
 applied.
1228

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1229 1230 1231 1232
\anchor cfg_filter_source_files
<dt>\c FILTER_SOURCE_FILES <dd>
 \addindex FILTER_SOURCE_FILES
 If the \c FILTER_SOURCE_FILES tag is set to \c YES, the input filter (if set using
1233 1234
 \ref cfg_input_filter "INPUT_FILTER" ) will also be used to filter the input
 files that are used for producing the source files to browse 
1235
 (i.e. when \ref cfg_source_browser "SOURCE_BROWSER" is set to \c YES).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1236

1237 1238 1239 1240
\anchor cfg_filter_source_patterns
<dt>\c FILTER_SOURCE_PATTERNS <dd>
 \addindex FILTER_SOURCE_PATTERNS
 The \c FILTER_SOURCE_PATTERNS tag can be used to specify source filters per 
1241 1242
 file pattern. A pattern will override the setting 
 for \ref cfg_filter_patterns "FILTER_PATTERN" (if any) 
1243
 and it is also possible to disable source filtering for a specific pattern 
1244
 using `*.ext=` (so without naming a filter). This option only has effect when 
1245
 \ref cfg_filter_source_files "FILTER_SOURCE_FILES" is enabled.
1246

1247 1248 1249 1250
\anchor cfg_use_mdfile_as_mainpage
<dt>\c USE_MDFILE_AS_MAINPAGE <dd>
 \addindex USE_MDFILE_AS_MAINPAGE
If the \c USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that 
1251
is part of the input, its contents will be placed on the main page (`index.html`). 
1252 1253 1254
This can be useful if you have a project on for instance GitHub and want reuse 
the introduction page also for the doxygen output.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1255 1256
</dl>

1257
\section sourcebrowser_index Source browsing related options
1258 1259 1260 1261 1262
\anchor cfg_source_browser
<dl>

<dt>\c SOURCE_BROWSER <dd>
 \addindex SOURCE_BROWSER
1263 1264 1265
 If the \c SOURCE_BROWSER tag is set to \c YES then a list of source files will
 be generated. Documented entities will be cross-referenced with these sources.
 Note: To get rid of all source code in the generated output, make sure also
1266
 \ref cfg_verbatim_headers "VERBATIM_HEADERS" is set to \c NO.
1267 1268 1269 1270 1271 1272 1273

\anchor cfg_inline_sources
<dt>\c INLINE_SOURCES <dd>
 \addindex INLINE_SOURCES
 Setting the \c INLINE_SOURCES tag to \c YES will include the body
 of functions, classes and enums directly into the documentation.

1274 1275 1276 1277 1278 1279 1280
\anchor cfg_strip_code_comments
<dt>\c STRIP_CODE_COMMENTS <dd>
 \addindex STRIP_CODE_COMMENTS
 Setting the \c STRIP_CODE_COMMENTS tag to \c YES (the default) will instruct
 doxygen to hide any special comment blocks from generated source code
 fragments. Normal C and C++ comments will always remain visible.

1281 1282 1283
\anchor cfg_referenced_by_relation
<dt>\c REFERENCED_BY_RELATION <dd>
 \addindex REFERENCED_BY_RELATION
1284
 If the \c REFERENCED_BY_RELATION tag is set to \c YES
1285 1286 1287 1288
 then for each documented function all documented
 functions referencing it will be listed. 

\anchor cfg_references_relation
1289
<dt>\c REFERENCES_RELATION <dd>
1290
 \addindex REFERENCES_RELATION
1291
 If the \c REFERENCES_RELATION tag is set to \c YES
1292 1293 1294
 then for each documented function all documented entities
 called/used by that function will be listed. 

1295 1296 1297 1298
\anchor cfg_references_link_source
<dt>\c REFERENCES_LINK_SOURCE <dd>
 \addindex REFERENCES_LINK_SOURCE
 If the \c REFERENCES_LINK_SOURCE tag is set to \c YES (the default)
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1299 1300 1301
 and \ref cfg_source_browser "SOURCE_BROWSER" tag is set to \c YES, then the hyperlinks from 
 functions in \ref cfg_references_relation "REFERENCES_RELATION" and
 \ref cfg_referenced_by_relation "REFERENCED_BY_RELATION" lists will 
1302
 link to the source code.  Otherwise they will link to the documentation.
1303

1304 1305 1306 1307 1308
\anchor cfg_verbatim_headers
<dt>\c VERBATIM_HEADERS <dd>
 \addindex VERBATIM_HEADERS
  If the \c VERBATIM_HEADERS tag is set the \c YES (the default) then doxygen
  will generate a verbatim copy of the header file for each class for
1309
  which an include is specified. Set to \c NO to disable this.
1310 1311
  \sa Section \ref cmdclass "\\class".

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1312 1313 1314 1315 1316 1317 1318
\anchor cfg_clang_assisted_parsig 
<dt>\c CLANG_ASSISTED_PARSING <dd>
 \addindex CLANG_ASSISTED_PARSING
  If \c CLANG_ASSISTED_PARSING is set to \c YES, then doxygen will use the 
  <a href="http://clang.llvm.org/">clang parser</a> for more acurate parsing 
  at the cost of reduced performance. This can be particularly helpful with 
  template rich C++ code for which doxygen's built-in parser lacks the 
1319
  necessary type information.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1320 1321 1322 1323 1324 1325 1326 1327 1328 1329

  @note The availability of this option depends on whether or not doxygen
  was compiled with the `--with-libclang` option.

\anchor cfg_clang_options
<dt>\c CLANG_OPTIONS <dd>
 \addindex CLANG_OPTIONS 
 If clang assisted parsing is enabled you can provide the compiler with command 
 line options that you would normally use when invoking the compiler. Note that 
 the include paths will already be set by doxygen for the files and directories 
1330
 specified at \ref cfg_input "INPUT" and \ref cfg_include_path "INCLUDE_PATH".
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1331

1332 1333 1334 1335
\anchor cfg_use_htags
<dt>\c USE_HTAGS <dd>
 \addindex USE_HTAGS
 If the \c USE_HTAGS tag is set to \c YES then the references to source code
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1336 1337
 will point to the HTML generated by the \c htags(1) tool instead of doxygen
 built-in source browser. The \c htags tool is part of GNU's global source
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1338
 tagging system (see http://www.gnu.org/software/global/global.html).
1339
 To use it do the following:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1340 1341

 -# Install the latest version of global (i.e. 4.8.6 or better)
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1342 1343
 -# Enable \ref cfg_source_browser "SOURCE_BROWSER" and \c USE_HTAGS in the config file
 -# Make sure the \ref cfg_input "INPUT" points to the root of the source tree
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1344 1345
 -# Run doxygen as normal

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1346
 Doxygen will invoke \c htags (and that will in turn invoke \c gtags), so these tools
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1347 1348 1349
 must be available from the command line (i.e. in the search path).

 The result: instead of the source browser generated by doxygen, the links to
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1350
 source code will now point to the output of \c htags.
1351

1352 1353
</dl>

1354
\section alphabetical_index Alphabetical index options
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1355 1356 1357 1358 1359 1360 1361 1362 1363 1364
\anchor cfg_alphabetical_index
<dl>

<dt>\c ALPHABETICAL_INDEX <dd>
 \addindex ALPHABETICAL_INDEX
 If the \c ALPHABETICAL_INDEX tag is set to \c YES, an alphabetical index
 of all compounds will be generated. Enable this if the project contains 
 a lot of classes, structs, unions or interfaces.

<dt>\c COLS_IN_ALPHA_INDEX <dd>
1365
 \anchor cfg_cols_in_alpha_index
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1366 1367
 \addindex COLS_IN_ALPHA_INDEX
 If the alphabetical index is enabled 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1368
 (see \ref cfg_alphabetical_index "ALPHABETICAL_INDEX") then the \c COLS_IN_ALPHA_INDEX tag can be 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
 used to specify the number of columns in which this list will be split (can be a number in the range [1..20])

\anchor cfg_ignore_prefix
<dt>\c IGNORE_PREFIX <dd>
 \addindex IGNORE_PREFIX
 In case all classes in a project start with a common prefix, all classes will 
 be put under the same header in the alphabetical index.
 The \c IGNORE_PREFIX tag can be used to specify a prefix 
 (or a list of prefixes) that should be ignored while generating the index 
 headers.

</dl>
1381
\section html_output HTML related options
1382
\anchor cfg_generate_html
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1383 1384 1385 1386
<dl>

<dt>\c GENERATE_HTML <dd>
 \addindex GENERATE_HTML
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1387
 If the \c GENERATE_HTML tag is set to \c YES (the default) doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1388 1389
 generate HTML output

1390
\anchor cfg_html_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1391 1392 1393
<dt>\c HTML_OUTPUT <dd>
 \addindex HTML_OUTPUT
 The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1394 1395
 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
 put in front of it. If left blank '<code>html</code>' will be used as the default path.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1396

1397 1398 1399 1400
\anchor cfg_html_file_extension
<dt>\c HTML_FILE_EXTENSION <dd>
 \addindex HTML_FILE_EXTENSION
 The \c HTML_FILE_EXTENSION tag can be used to specify the file extension for 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1401 1402
 each generated HTML page (for example: <code>.htm, .php, .asp</code>). If it is left blank
 doxygen will generate files with <code>.html</code> extension.
1403

1404
\anchor cfg_html_header
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1405 1406
<dt>\c HTML_HEADER <dd>      
 \addindex HTML_HEADER
1407
 The \c HTML_HEADER tag can be used to specify a user-defined HTML 
1408
 header file for each generated HTML page. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1409 1410
 If the tag is left blank doxygen will generate a 
 standard header. 
1411

1412 1413 1414 1415 1416 1417 1418 1419
 To get valid HTML the header file that
 includes any scripts and style sheets that doxygen
 needs, it is highly recommended to start with a default header using
\verbatim
doxygen -w html new_header.html new_footer.html new_stylesheet.css YourConfigFile
\endverbatim
 and then modify the file \c new_header.html.

1420 1421 1422 1423 1424 1425 1426 1427
 The following markers have a special meaning inside the header and footer:
 <dl>
 <dt><code>\$title</code><dd>will be replaced with the title of the page.
 <dt><code>\$datetime</code><dd>will be replaced with current the date and time.
 <dt><code>\$date</code><dd>will be replaced with the current date.
 <dt><code>\$year</code><dd>will be replaces with the current year.
 <dt><code>\$doxygenversion</code><dd>will be replaced with the version of doxygen
 <dt><code>\$projectname</code><dd>will be replaced with the name of 
1428
            the project (see \ref cfg_project_name "PROJECT_NAME")
1429
 <dt><code>\$projectnumber</code><dd>will be replaced with the project number
1430
            (see \ref cfg_project_number "PROJECT_NUMBER")
1431
 <dt><code>\$projectbrief</code><dd>will be replaced with the project brief
1432
            description (see \ref cfg_project_brief "PROJECT_BRIEF")
1433
 <dt><code>\$projectlogo</code><dd>will be replaced with the project logo
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445
            (see \ref cfg_project_logo "PROJECT_LOGO")
 <dt><code>\$treeview</code><dd>will be replaced with links to 
            the javascript and style sheets needed for the navigation tree 
            (or an empty string when \ref cfg_generate_treeview "GENERATE_TREEVIEW" 
            is disabled).
 <dt><code>\$search</code><dd>will be replaced with a links to 
            the javascript and style sheets needed for the search engine 
            (or an empty string when \ref cfg_searchengine "SEARCHENGINE" 
            is disabled).
 <dt><code>\$mathjax</code><dd>will be replaced with a links to 
            the javascript and style sheets needed for the MathJax feature 
            (or an empty string when \ref cfg_use_mathjax "USE_MATHJAX" is disabled).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1446
 <dt><code>\$relpath^</code><dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1447
 If \ref cfg_create_subdirs "CREATE_SUBDIRS" is enabled, the command <code>\$relpath^</code> can be 
1448
 used to produce a relative path to the root of the HTML output directory,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1449
 e.g. use <code>\$relpath^doxygen.css</code>, to refer to the standard style sheet.
1450
 </dl>
1451

1452 1453 1454 1455
 To cope with differences in the layout of the header and footer that depend on 
 configuration settings, the header can also contain special blocks that 
 will be copied to the output or skipped depending on the configuration.
 Such blocks have the following form:
1456
\verbatim
1457 1458 1459 1460 1461 1462
 <!--BEGIN BLOCKNAME-->
 Some context copied when condition BLOCKNAME holds
 <!--END BLOCKNAME-->
 <!--BEGIN !BLOCKNAME-->
 Some context copied when condition BLOCKNAME does not hold
 <!--END !BLOCKNAME-->
1463
\endverbatim
1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489
 The following block names are supported:
 <dl>
 <dt><code>DISABLE_INDEX</code><dd>Content within this block is copied to the output
     when the \ref cfg_disable_index "DISABLE_INDEX" option is enabled (so when the index is disabled).
 <dt><code>GENERATE_TREEVIEW</code><dd>Content within this block is copied to the output
     when the \ref cfg_generate_treeview "GENERATE_TREEVIEW" option is enabled.
 <dt><code>SEARCHENGINE</code><dd>Content within this block is copied to the output
     when the \ref cfg_searchengine "SEARCHENGINE" option is enabled.
 <dt><code>PROJECT_NAME</code><dd>Content within the block is copied to the output
      when the \ref cfg_project_name "PROJECT_NAME" option is not empty.
 <dt><code>PROJECT_NUMBER</code><dd>Content within the block is copied to the output
      when the \ref cfg_project_number "PROJECT_NUMBER" option is not empty.
 <dt><code>PROJECT_BRIEF</code><dd>Content within the block is copied to the output
      when the \ref cfg_project_brief "PROJECT_BRIEF" option is not empty.
 <dt><code>PROJECT_LOGO</code><dd>Content within the block is copied to the output
      when the \ref cfg_project_logo "PROJECT_LOGO" option is not empty.
 <dt><code>TITLEAREA</code><dd>Content within this block is copied to the output
     when a title is visible at the top of each page. This is the case
     if either \ref cfg_project_name "PROJECT_NAME", 
     \ref cfg_project_brief "PROJECT_BRIEF", \ref cfg_project_logo "PROJECT_LOGO" 
     is filled in or if both \ref cfg_disable_index "DISABLE_INDEX" and 
     \ref cfg_searchengine "SEARCHENGINE" are enabled.
 </dl>

 See also section \ref doxygen_usage for information on how to generate
 the default header that doxygen normally uses.
1490 1491

 @note The header is subject to change so you typically
1492 1493
 have to regenerate the default header when upgrading to a newer version of 
 doxygen.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1494
   
1495
\anchor cfg_html_footer
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1496 1497
<dt>\c HTML_FOOTER <dd>
 \addindex HTML_FOOTER
1498
 The \c HTML_FOOTER tag can be used to specify a user-defined HTML footer for 
1499
 each generated HTML page. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1500 1501
 If the tag is left blank doxygen will generate a standard footer.

1502 1503 1504
 See \ref cfg_html_header "HTML_HEADER" for more information on 
 how to generate a default footer and what special commands can be 
 used inside the footer.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1505 1506 1507

 See also section \ref doxygen_usage for information on how to generate
 the default footer that doxygen normally uses.
1508

1509 1510 1511 1512
\anchor cfg_html_stylesheet
<dt>\c HTML_STYLESHEET <dd>
 \addindex HTML_STYLESHEET

1513
 The \c HTML_STYLESHEET tag can be used to specify a user-defined cascading 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1514 1515 1516 1517
 style sheet that is used by each HTML page. It can be used to 
 fine-tune the look of the HTML output. If left blank doxygen 
 will generate a default style sheet. 
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1518 1519
 See also section \ref doxygen_usage for information on how to generate
 the style sheet that doxygen normally uses.
1520

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1521
 \note It is recommended to use 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1522 1523
 \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET" instead of this tag,
 as it is more robust and 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1524 1525 1526 1527 1528
 this tag will in the future become obsolete.

\anchor cfg_html_extra_stylesheet
<dt>\c HTML_EXTRA_STYLESHEET <dd>
 \addindex HTML_EXTRA_STYLESHEET
1529
 The \c HTML_EXTRA_STYLESHEET tag can be used to specify an additional 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1530 1531
 user-defined cascading style sheet that is included after the standard 
 style sheets created by doxygen. Using this option one can overrule 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1532
 certain style aspects. This is preferred over using \ref cfg_html_stylesheet "HTML_STYLESHEET" 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567
 since it does not replace the standard style sheet and is therefor more 
 robust against future updates. Doxygen will copy the style sheet file to 
 the output directory.

 Here is an example stylesheet that gives the contents area a fixed width:
\verbatim
body {
        background-color: #CCC;
        color: black;
        margin: 0;
}

div.contents {
        margin-bottom: 10px;
        padding: 12px;
        margin-left: auto;
        margin-right: auto;
        width: 960px;
        background-color: white;
        border-radius: 8px;
}

#titlearea {
        background-color: white;
}

hr.footer {
        display: none;
}

.footer {
        background-color: #AAA;
}
\endverbatim

1568 1569 1570 1571 1572 1573
\anchor cfg_html_extra_files
<dt>\c HTML_EXTRA_FILES <dd>
 \addindex HTML_EXTRA_FILES
 The \c HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
 other source files which should be copied to the HTML output directory. Note 
 that these files will be copied to the base HTML output directory. Use the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1574 1575 1576
 <code>$relpath^</code> marker in the \ref cfg_html_header "HTML_HEADER" and/or
 \ref cfg_html_footer "HTML_FOOTER" files to load these 
 files. In the \ref cfg_html_stylesheet "HTML_STYLESHEET" file, use the file name only. Also note that 
1577 1578
 the files will be copied as-is; there are no commands or markers available.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605
\anchor cfg_html_colorstyle_hue
<dt>\c HTML_COLORSTYLE_HUE <dd>
 \addindex HTML_COLOR_STYLE_HUE
 The \c HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
 Doxygen will adjust the colors in the stylesheet and background images 
 according to this color. Hue is specified as an angle on a colorwheel, 
 see http://en.wikipedia.org/wiki/Hue for more information. 
 For instance the value 0 represents red, 60 is yellow, 120 is green, 
 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
 The allowed range is 0 to 359. 

\anchor cfg_html_colorstyle_sat
<dt>\c HTML_COLORSTYLE_SAT <dd>
 \addindex HTML_COLORSTYLE_SAT
 The \c HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
 the colors in the HTML output. For a value of 0 the output will use 
 grayscales only. A value of 255 will produce the most vivid colors. 

\anchor cfg_html_colorstyle_gamma
<dt>\c HTML_COLORSTYLE_GAMMA <dd>
 The \c HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
 the luminance component of the colors in the HTML output. Values below 
 100 gradually make the output lighter, whereas values above 100 make 
 the output darker. The value divided by 100 is the actual gamma applied, 
 so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
 and 100 does not change the gamma.

1606 1607 1608 1609 1610
\anchor cfg_html_timestamp
<dt>\c HTML_TIMESTAMP <dd>
 \addindex HTML_TIMESTAMP
 If the \c HTML_TIMESTAMP tag is set to \c YES then the footer of 
 each generated HTML page will contain the date and time when the page 
1611
 was generated. Setting this to \c NO can help when comparing the output of 
1612 1613
 multiple runs.

1614
\anchor cfg_html_align_members
1615
<dt>\c HTML_ALIGN_MEMBERS <dd>
1616 1617 1618
 \addindex HTML_ALIGN_MEMBERS
 If the \c HTML_ALIGN_MEMBERS tag is set to \c YES, the members of classes,
 files or namespaces will be aligned in HTML using tables. If set to
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1619
 \c NO a bullet list will be used. 
1620

1621
 <b>Note:</b>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1622
 Setting this tag to \c NO will become obsolete in the future, since I only
1623
 intent to support and test the aligned representation.
1624

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1625 1626 1627 1628 1629
\anchor cfg_html_dynamic_sections
<dt>\c HTML_DYNAMIC_SECTIONS <dd>
 \addindex HTML_DYNAMIC_SECTIONS
 If the \c HTML_DYNAMIC_SECTIONS tag is set to \c YES then the generated HTML
 documentation will contain sections that can be hidden and shown after the
1630 1631 1632 1633 1634
 page has loaded. 

\anchor cfg_html_index_num_entries
<dt>\c HTML_NUM_INDEX_ENTRIES <dd>
 \addindex HTML_NUM_INDEX_ENTRIES
1635
 With \c HTML_INDEX_NUM_ENTRIES one can control the preferred number of 
1636 1637 1638 1639 1640 1641 1642
 entries shown in the various tree structured indices initially; the user 
 can expand and collapse entries dynamically later on. Doxygen will expand 
 the tree to such a level that at most the specified number of entries are 
 visible (unless a fully collapsed tree already exceeds this amount). 
 So setting the number of entries 1 will produce a full collapsed tree by 
 default. 0 is a special value representing an infinite number of entries 
 and will result in a full expanded tree by default.
1643

1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654
\anchor cfg_generate_docset
<dt>\c GENERATE_DOCSET <dd>
 \addindex GENERATE_DOCSET
 If the \c GENERATE_DOCSET tag is set to \c YES, additional index files
 will be generated that can be used as input for 
 <a href="http://developer.apple.com/tools/xcode/">Apple's Xcode 3
 integrated development environment</a>, introduced with OSX 10.5 (Leopard).
 To create a documentation set, doxygen will generate a Makefile in the
 HTML output directory. Running \c make will produce the docset in that
 directory and running <code>make install</code> will install the docset in 
 <code>~/Library/Developer/Shared/Documentation/DocSets</code> 
1655 1656 1657
 so that Xcode will find it at startup. See
 <a href="http://developer.apple.com/tools/creatingdocsetswithdoxygen.html">
 this article</a> for more information.
1658 1659 1660 1661

\anchor cfg_docset_feedname 
<dt>\c DOCSET_FEEDNAME <dd>
 \addindex DOCSET_FEEDNAME
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1662
 When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag determines the name of the
1663 1664 1665 1666 1667 1668
 feed. A documentation feed provides an umbrella under which multiple
 documentation sets from a single provider (such as a company or product suite) 
 can be grouped.

\anchor cfg_docset_bundle_id
<dt>\c DOCSET_BUNDLE_ID <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1669
 When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES, this tag specifies a string that
1670 1671 1672 1673
 should uniquely identify the documentation set bundle. This should be a
 reverse domain-name style string, e.g. <code>com.mycompany.MyDocSet</code>. 
 Doxygen will append <code>.docset</code> to the name.

1674 1675
\anchor cfg_docset_publisher_id
<dt>\c DOCSET_PUBLISHER_ID <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1676 1677
When \ref cfg_generate_docset "GENERATE_DOCSET" tag is set to \c YES \c DOCSET_PUBLISHER_ID
tag specifies a string that should uniquely identify 
1678 1679 1680 1681 1682
the documentation publisher. This should be a reverse domain-name style 
string, e.g. com.mycompany.MyDocSet.documentation. 

\anchor cfg_docset_publisher_name
<dt>\c DOCSET_PUBLISHER_NAME <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1683
The \c DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1684 1685 1686 1687 1688 1689 1690 1691

\anchor cfg_generate_htmlhelp
<dt>\c GENERATE_HTMLHELP <dd>
 \addindex GENERATE_HTMLHELP
 If the \c GENERATE_HTMLHELP tag is set to \c YES then
 doxygen generates three additional HTML index files: 
 \c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a 
 project file that can be read by 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1692
 <a href="http://www.microsoft.com/en-us/download/details.aspx?id=21138">
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1693 1694 1695 1696
 Microsoft's HTML Help Workshop</a>
 on Windows.

 The HTML Help Workshop contains a compiler that can convert all HTML output 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1697
 generated by doxygen into a single compiled HTML file (`.chm`). Compiled
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1698
 HTML files are now used as the Windows 98 help format, and will replace
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1699
 the old Windows help format (`.hlp`) on all Windows platforms in the future.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1700 1701 1702
 Compressed HTML files also contain an index, a table of contents,
 and you can search for words in the documentation.
 The HTML workshop also contains a viewer for compressed HTML files.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1703

1704 1705 1706
\anchor cfg_chm_file 
<dt>\c CHM_FILE <dd>
 \addindex CHM_FILE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1707 1708
  If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c CHM_FILE tag can
  be used to specify the file name of the resulting `.chm` file. You
1709
  can add a path in front of the file if the result should not be
1710
  written to the html output directory.
1711 1712 1713 1714

\anchor cfg_hhc_location 
<dt>\c HHC_LOCATION <dd>
 \addindex HHC_LOCATION
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1715
  If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c HHC_LOCATION tag can
1716
  be used to specify the location (absolute path including file name) of 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1717 1718
  the HTML help compiler (\c hhc.exe). If non-empty doxygen will try to run
  the HTML help compiler on the generated \c index.hhp.
1719

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1720 1721 1722
\anchor cfg_generate_chi
<dt>\c GENERATE_CHI <dd>
 \addindex GENERATE_CHI
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1723 1724 1725
 If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c GENERATE_CHI flag
 controls if a separate `.chi` index file is generated (\c YES) or that
 it should be included in the master `.chm` file (\c NO).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1726

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1727 1728 1729
\anchor cfg_chm_index_encoding
<dt>\c CHM_INDEX_ENCODING <dd>
 \addindex CHM_INDEX_ENCODING
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1730 1731
 If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c CHM_INDEX_ENCODING 
 is used to encode HtmlHelp index (\c hhk), content (\c hhc) and project file 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1732 1733
 content. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1734 1735 1736
\anchor cfg_binary_toc
<dt>\c BINARY_TOC <dd>
 \addindex BINARY_TOC
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1737 1738 1739
 If the \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP" tag is set to \c YES, the \c BINARY_TOC flag
 controls whether a binary table of contents is generated (\c YES) or a
 normal table of contents (\c NO) in the .chm file.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1740 1741 1742 1743

\anchor cfg_toc_expand
<dt>\c TOC_EXPAND <dd>
 \addindex TOC_EXPAND
1744
 The \c TOC_EXPAND flag can be set to \c YES to add extra items for 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1745 1746 1747 1748 1749 1750
 group members to the table of contents of the HTML help documentation 
 and to the tree view.

\anchor cfg_generate_qhp
<dt>\c GENERATE_QHP <dd>
 \addindex GENERATE_QHP
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1751 1752
 If the \c GENERATE_QHP tag is set to \c YES and both \ref cfg_qhp_namespace "QHP_NAMESPACE"
 and \ref cfg_qhp_virtual_folder "QHP_VIRTUAL_FOLDER" are set, an additional index file will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1753
 be generated that can be used as input for Qt's qhelpgenerator
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1754
 to generate a Qt Compressed Help (`.qch`) of the generated HTML
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1755 1756
 documentation.

1757 1758 1759
\anchor cfg_qch_file
<dt>\c QCH_FILE <dd>
 \addindex QCH_FILE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1760 1761
 If the \ref cfg_qhg_location "QHG_LOCATION" tag is specified, the \c QCH_FILE tag can
 be used to specify the file name of the resulting `.qch` file.
1762 1763
 The path specified is relative to the HTML output folder.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1764 1765 1766
\anchor cfg_qhp_namespace
<dt>\c QHP_NAMESPACE <dd>
 \addindex QHP_NAMESPACE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1767
 The \c QHP_NAMESPACE tag specifies the namespace to use when generating
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1768
 Qt Help Project output. For more information please see
1769
 <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1770 1771 1772 1773

\anchor cfg_qhp_virtual_folder
<dt>\c QHP_VIRTUAL_FOLDER <dd>
 \addindex QHP_VIRTUAL_FOLDER
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1774
 The \c QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1775
 generating Qt Help Project output. For more information please see
1776
 <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1777

1778 1779 1780
\anchor cfg_qhp_cust_filter_name
<dt>\c QHP_CUST_FILTER_NAME <dd>
  \addindex QHP_CUST_FILTER_NAME
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1781
  If \c QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. For more information please see
1782
  <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
1783 1784 1785 1786

\anchor cfg_qhp_cust_filter_attrs
<dt>\c QHP_CUST_FILTER_ATTRS <dd>
  \addindex QHP_CUST_FILTER_ATTRS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1787
  The \c QHP_CUST_FILTER_ATTRIBUTES tag specifies the list of the attributes of the custom filter to add.
1788
  For more information please see
1789
  <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
1790 1791 1792 1793

\anchor cfg_qhp_sect_filter_attrs
<dt>\c QHP_SECT_FILTER_ATTRS <dd>
  \addindex QHP_SECT_FILTER_ATTRS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1794
  The \c QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's filter section matches.
1795
  <a href="http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
1796

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1797 1798 1799
\anchor cfg_qhg_location
<dt>\c QHG_LOCATION <dd>
 \addindex QHG_LOCATION
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1800
 If the \ref cfg_generate_qhp "GENERATE_QHP" tag is set to \c YES, the \c QHG_LOCATION tag can
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1801 1802
 be used to specify the location of Qt's qhelpgenerator.
 If non-empty doxygen will try to run qhelpgenerator on the generated
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1803
 `.qhp` file.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1804

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1805 1806 1807 1808
\anchor cfg_generate_eclipsehelp
<dt>\c GENERATE_ECLIPSEHELP <dd>
 \addindex GENERATE_ECLIPSEHELP
 If the \c GENERATE_ECLIPSEHELP tag is set to \c YES, additional index files  
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1809
 will be generated, which together with the HTML files, form an `Eclipse` help 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1810 1811 1812
 plugin. 

 To install this plugin and make it available under the help contents 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1813
 menu in `Eclipse`, the contents of the directory containing the HTML and XML 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1814 1815 1816 1817
 files needs to be copied into the plugins directory of eclipse. The name of 
 the directory within the plugins directory should be the same as 
 the \ref cfg_eclipse_doc_id "ECLIPSE_DOC_ID" value. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1818
 After copying `Eclipse` needs to be restarted before the help appears.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1819 1820 1821 1822

\anchor cfg_eclipse_doc_id
<dt>\c ECLIPSE_DOC_ID <dd>
 \addindex ECLIPSE_DOC_ID
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1823
 A unique identifier for the `Eclipse` help plugin. When installing the plugin 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1824 1825 1826
 the directory name containing the HTML and XML files should also have 
 this name. Each documentation set should have its own identifier.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1827 1828 1829 1830 1831 1832
\anchor cfg_disable_index
<dt>\c DISABLE_INDEX <dd>
 \addindex DISABLE_INDEX
 If you want full control over the layout of the generated HTML pages it
 might be necessary to disable the index and replace it with your own.
 The \c DISABLE_INDEX tag can be used to turn on/off the condensed index at
1833
 top of each page. A value of \c NO (the default) enables the index and the
1834 1835 1836
 value \c YES disables it. Since the tabs have the same information as the 
 navigation tree you can set this option to \c NO if you already set 
 \ref cfg_generate_treeview "GENERATE_TREEVIEW" to \c YES.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1837 1838 1839 1840

\anchor cfg_enum_values_per_line
<dt>\c ENUM_VALUES_PER_LINE <dd>
 \addindex ENUM_VALUES_PER_LINE
1841 1842 1843 1844
 This tag can be used to set the number of enum values (range [0,1..20]) 
 that doxygen will group on one line in the generated HTML documentation. 
 Note that a value of 0 will completely suppress the enum values from
 appearing in the overview section.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1845

1846 1847 1848
\anchor cfg_generate_treeview
<dt>\c GENERATE_TREEVIEW <dd>
 \addindex GENERATE_TREEVIEW
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1849
 The \c GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1850
 structure should be generated to display hierarchical information.
1851
 If the tag value is set to \c YES, a side panel will be generated
1852
 containing a tree-like index structure (just like the one that
1853
 is generated for HTML Help). For this to work a browser that supports
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1854 1855
 JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
 Windows users are probably better off using the HTML help feature.
1856

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1857
 Via custom stylesheets (see \ref cfg_html_extra_stylesheet "HTML_EXTRA_STYLESHEET")
1858
 one can further \ref doxygen_finetune "fine-tune" the look of the index.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1859 1860
 As an example, the default style sheet generated by doxygen has an
 example that shows how to put an image at the root of the tree instead of
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1861
 the \ref cfg_project_name "PROJECT_NAME".
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1862

1863 1864 1865
\anchor cfg_treeview_width
<dt>\c TREEVIEW_WIDTH <dd>
 \addindex TREEVIEW_WIDTH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1866
 If the treeview is enabled (see \ref cfg_generate_treeview "GENERATE_TREEVIEW") then this tag can be
1867 1868 1869
 used to set the initial width (in pixels) of the frame in which the tree
 is shown.

1870 1871 1872 1873 1874 1875
\anchor cfg_ext_links_in_window
<dt>\c EXT_LINKS_IN_WINDOW <dd>
 \addindex EXT_LINKS_IN_WINDOW
 When the \c EXT_LINKS_IN_WINDOW option is set to \c YES doxygen will open 
 links to external symbols imported via tag files in a separate window. 

1876 1877 1878
\anchor cfg_formula_fontsize
<dt>\c FORMULA_FONTSIZE <dd>
 \addindex FORMULA_FONTSIZE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1879
 Use this tag to change the font size of \f$\mbox{\LaTeX}\f$ formulas included
1880 1881
 as images in the HTML documentation. The default is 10.
 when you change the font size after a successful doxygen run you need
1882
 to manually remove any `form_*.png` images from the HTML 
1883
 output directory to force them to be regenerated.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1884 1885 1886 1887 1888 1889 1890

\anchor cfg_formula_transparent
<dt>\c FORMULA_TRANSPARENT <dd>
 \addindex FORMULA_TRANSPARENT
 Use the \c FORMULA_TRANPARENT tag to determine whether or not the images 
 generated for formulas are transparent PNGs. Transparent PNGs are 
 not supported properly for IE 6.0, but are supported on all modern browsers. 
1891
 Note that when changing this option you need to delete any `form_*.png` files 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1892
 in the HTML output before the changes have effect. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1893 1894 1895 1896

\anchor cfg_use_mathjax
<dt>\c USE_MATHJAX <dd>
 \addindex USE_MATHJAX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1897
 Enable the \c USE_MATHJAX option to render \f$\mbox{\LaTeX}\f$ formulas using MathJax 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1898 1899
 (see http://www.mathjax.org) which uses client side Javascript for the 
 rendering instead of using prerendered bitmaps. Use this if you do not 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1900
 have \f$\mbox{\LaTeX}\f$ installed or if you want to formulas look prettier in the HTML 
1901 1902 1903
 output. When enabled you may also need to install MathJax separately and 
 configure the path to it using the \ref cfg_mathjax_relpath "MATHJAX_RELPATH" 
 option.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1904

1905 1906 1907 1908 1909 1910 1911 1912 1913 1914
\anchor cfg_mathjax_format
<dt>\c MATHJAX_FORMAT <dd>
 \addindex MATHJAX_FORMAT
 When MathJax is enabled you can set the default output format to be used for 
 the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and 
 SVG. The default value is HTML-CSS, which is slower, but has the best 
 compatibility. See 
<a href="http://docs.mathjax.org/en/latest/output.html">the MathJax site</a>
for more details.

1915 1916 1917
\anchor cfg_mathjax_codefile
<dt>\c MATHJAX_CODEFILE <dd>
 \addindex MATHJAX_CODEFILE
1918
 The \c MATHJAX_CODEFILE tag can be used to specify a file with javascript 
1919 1920 1921 1922 1923 1924 1925 1926
 pieces of code that will be used on startup of the MathJax code. 
 See 
<a href="http://docs.mathjax.org/en/latest/output.html">the MathJax site</a>
 for more details.<br>
 As an example to disable the "Math Renderer" menu item in the "Math
 Settings" menu of MathJax:
\verbatim
MATHJAX_CODEFILE = disableRenderer
1927
\endverbatim
1928
  with in the file \c disableRenderer:
1929
\verbatim
1930 1931 1932 1933 1934 1935
  MathJax.Hub.Config({
   menuSettings: {
    showRenderer: false,
   } 
  });
\endverbatim
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1936 1937 1938 1939 1940
\anchor cfg_mathjax_relpath
<dt>\c MATHJAX_RELPATH <dd>
 \addindex MATHJAX_RELPATH
 When MathJax is enabled you need to specify the location relative to the 
 HTML output directory using the \c MATHJAX_RELPATH option. The destination 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1941
 directory should contain the `MathJax.js` script. For instance, if the \c mathjax 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1942 1943
 directory is located at the same level as the HTML output directory, then 
 \c MATHJAX_RELPATH should be <code>../mathjax</code>. The default value points to 
1944 1945 1946
 the MathJax Content Delivery Network so you can quickly see the result without 
 installing MathJax.  However, it is strongly recommended to install a local 
 copy of MathJax from http://www.mathjax.org before deployment.
1947 1948 1949 1950

\anchor cfg_mathjax_extensions
<dt>\c MATHJAX_EXTENSIONS <dd>
 \addindex MATHJAX_EXTENSIONS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1951
 The \c MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
1952 1953 1954 1955
 names that should be enabled during MathJax rendering. For example
\verbatim
MATHJAX_EXTENSIONS     = TeX/AMSmath TeX/AMSsymbols
\endverbatim
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972

\anchor cfg_searchengine
<dt>\c SEARCHENGINE <dd>
 \addindex SEARCHENGINE

 When the \c SEARCHENGINE tag is enabled doxygen will generate a search box
 for the HTML output. The underlying search engine uses javascript 
 and DHTML and should work on any modern browser. Note that when using
 HTML help (\ref cfg_generate_htmlhelp "GENERATE_HTMLHELP"), 
 Qt help (\ref cfg_generate_qhp "GENERATE_QHP"), or docsets
 (\ref cfg_generate_docset "GENERATE_DOCSET") there is already a search 
 function so this one should typically be disabled. For large projects 
 the javascript based search engine can be slow, then enabling 
 \ref cfg_server_based_search "SERVER_BASED_SEARCH" may provide a 
 better solution. 

 It is possible to search using the keyboard;
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1973 1974 1975 1976 1977
 to jump to the search box use `<access key> + S` (what the `<access key>` is
 depends on the OS and browser, but it is typically `<CTRL>`, `<ALT>`/`<option>`, or both).
 Inside the search box use the `<cursor down key>` to jump into the search 
 results window, the results can be navigated using the `<cursor keys>`.
 Press `<Enter>` to select an item or `<escape>` to cancel the search. The
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1978
 filter options can be selected when the cursor is inside the search box
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1979 1980
 by pressing `<Shift>+<cursor down>`. Also here use the `<cursor keys>` to 
 select a filter and `<Enter>` or `<escape>` to activate or cancel the filter option.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022

\anchor cfg_server_based_search
<dt>\c SERVER_BASED_SEARCH <dd>
 \addindex SERVER_BASED_SEARCH

When the \c SERVER_BASED_SEARCH tag is enabled the search engine will be 
implemented using a web server instead of a web client using Javascript. 

There are two flavours of web server based searching depending on the 
\ref cfg_external_search "EXTERNAL_SEARCH" setting. When disabled, 
doxygen will generate a PHP script for searching and an index file used 
by the script. When \ref cfg_external_search "EXTERNAL_SEARCH" is 
enabled the indexing and searching needs to be provided by external tools. 
See \ref extsearch for details.

\anchor cfg_external_search
<dt>\c EXTERNAL_SEARCH <dd>
 \addindex EXTERNAL_SEARCH

When \c EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP 
script for searching. Instead the search results are written to an XML file 
which needs to be processed by an external indexer. Doxygen will invoke an 
external search engine pointed to by the 
\ref cfg_searchengine_url "SEARCHENGINE_URL" option to obtain 
the search results. See the section \ref extsearch for details.

\anchor cfg_searchengine_url
<dt>\c SEARCHENGINE_URL <dd>
 \addindex SEARCHENGINE_URL

The \c SEARCHENGINE_URL should point to a search engine hosted by a web server 
which will returned the search results when \ref cfg_external_search "EXTERNAL_SEARCH" 
is enabled.  See the section \ref extsearch for details.

\anchor cfg_searchdata_file
<dt>\c SEARCHDATA_FILE <dd>
 \addindex SEARCHDATA_FILE

When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and 
\ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the unindexed 
search data is written to a file for indexing by an external tool. With the 
\c SEARCHDATA_FILE tag the name of this file can be specified.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2023
The default is `searchdata.xml`.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2024

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2025 2026 2027 2028
\anchor cfg_external_search_id 
<dt>\c EXTERNAL_SEARCH_ID <dd>
 \addindex EXTERNAL_SEARCH_ID

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2029 2030
When \ref cfg_server_based_search "SERVER_BASED_SEARCH" and 
\ref cfg_external_search "EXTERNAL_SEARCH" are both enabled the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2031 2032 2033 2034
\c EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is 
useful in combination with \ref cfg_extra_search_mappings "EXTRA_SEARCH_MAPPINGS" 
to search through multiple projects and redirect the results back to the right project.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2035 2036 2037 2038
\anchor cfg_extra_search_mappings
<dt>\c EXTRA_SEARCH_MAPPINGS <dd>
 \addindex EXTRA_SEARCH_MAPPINGS

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2039 2040 2041 2042 2043 2044
The \c EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen 
projects other than the one defined by this configuration file, but that are 
all added to the same external search index. Each project needs to have a 
unique id set via \ref cfg_external_search_id "EXTERNAL_SEARCH_ID". 
The search mapping then maps the id of to a relative location where the 
documentation can be found. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2045

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2046
The format is: 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2047 2048 2049 2050
\verbatim
EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... 
\endverbatim

2051
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2052
</dl>
2053
\section latex_output LaTeX related options
2054
\anchor cfg_generate_latex
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2055 2056 2057 2058
<dl>

<dt>\c GENERATE_LATEX <dd>
 \addindex GENERATE_LATEX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2059 2060
 If the \c GENERATE_LATEX tag is set to \c YES (the default) doxygen will
 generate \f$\mbox{\LaTeX}\f$ output.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2061

2062
\anchor cfg_latex_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2063 2064
<dt>\c LATEX_OUTPUT <dd>
 \addindex LATEX_OUTPUT
2065 2066
 The \c LATEX_OUTPUT tag is used to specify where the \f$\mbox{\LaTeX}\f$ 
 docs will be put.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2067 2068
 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
 put in front of it. If left blank '`latex`' will be used as the default path.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2069

2070 2071 2072
\anchor cfg_latex_cmd_name
<dt>\c LATEX_CMD_NAME <dd>
 \addindex LATEX_CMD_NAME
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2073
 The \c LATEX_CMD_NAME tag can be used to specify the \f$\mbox{\LaTeX}\f$ command name to be invoked. 
2074
 If left blank 'latex' will be used as the default command name.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2075
 Note that when enabling \ref cfg_use_pdflatex "USE_PDFLATEX" this option is only used for
2076
 generating bitmaps for formulas in the HTML output, but not in the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2077
 \c Makefile that is written to the output directory.
2078 2079 2080 2081 2082

\anchor cfg_makeindex_cmd_name
<dt>\c MAKEINDEX_CMD_NAME <dd>
 \addindex MAKEINDEX_CMD_NAME
 The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2083
 generate index for \f$\mbox{\LaTeX}\f$. If left blank '`makeindex`' will be used as the 
2084 2085
 default command name.

2086
\anchor cfg_compact_latex
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2087 2088
<dt>\c COMPACT_LATEX <dd>
 \addindex COMPACT_LATEX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2089
 If the \c COMPACT_LATEX tag is set to \c YES doxygen generates more compact
2090
 \f$\mbox{\LaTeX}\f$ documents. This may be useful for small projects and may help to
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2091 2092
 save some trees in general.

2093
\anchor cfg_paper_type
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2094 2095
<dt>\c PAPER_TYPE <dd>
 \addindex PAPER_TYPE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2096
 The \c PAPER_TYPE tag can be used to set the paper type that is used
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2097 2098 2099 2100 2101 2102 2103
 by the printer. Possible values are: 
 <ul>
 <li><code>a4</code> (210 x 297 mm).
 <li><code>letter</code> (8.5 x 11 inches).
 <li><code>legal</code> (8.5 x 14 inches).
 <li><code>executive</code> (7.25 x 10.5 inches)
 </ul> 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2104
 If left blank \c a4 will be used.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2105

2106
\anchor cfg_extra_packages
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2107 2108
<dt>\c EXTRA_PACKAGES <dd>
 \addindex EXTRA_PACKAGES
2109
 The \c EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$ 
2110
 package names that should be included in the \f$\mbox{\LaTeX}\f$ output.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2111 2112 2113 2114 2115
 To get the times font for instance you can specify 
\verbatim
EXTRA_PACKAGES = times
\endverbatim
 If left blank no extra packages will be included.
2116 2117 2118 2119 2120

\anchor cfg_latex_header
<dt>\c LATEX_HEADER <dd>
 \addindex LATEX_HEADER
 The \c LATEX_HEADER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2121 2122
 header for the generated \f$\mbox{\LaTeX}\f$ document. 
 The header should contain everything until the first chapter. 
2123

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2124 2125 2126
 If it is left blank doxygen will generate a 
 standard header. See section \ref doxygen_usage for information on how to 
 let doxygen write the default header to a separate file.
2127
 
2128
 \par Note: 
2129
   Only use a user-defined header if you know what you are doing!
2130

2131 2132 2133 2134 2135 2136
 The following commands have a special meaning inside the header:
 <code>\$title</code>, <code>\$datetime</code>, <code>\$date</code>,
 <code>\$doxygenversion</code>, <code>\$projectname</code>, 
 <code>\$projectnumber</code>. 
 Doxygen will replace them by respectively 
 the title of the page, the current date and time, only the current date,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2137 2138
 the version number of doxygen, the project name (see \ref cfg_project_name "PROJECT_NAME"), or the
 project number (see \ref cfg_project_number "PROJECT_NUMBER").
2139 2140 2141 2142

\anchor cfg_latex_footer
<dt>\c LATEX_FOOTER <dd>
 \addindex LATEX_FOOTER
2143
 The \c LATEX_FOOTER tag can be used to specify a personal \f$\mbox{\LaTeX}\f$ footer for 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2144
 the generated \f$\mbox{\LaTeX}\f$ document. The footer should contain everything after 
2145
 the last chapter. If it is left blank doxygen will generate a 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2146 2147 2148 2149
 standard footer.
 
 \par Note: 
   Only use a user-defined footer if you know what you are doing!
2150 2151 2152 2153 2154

\anchor cfg_latex_extra_files
<dt>\c LATEX_EXTRA_FILES <dd>
 \addindex LATEX_EXTRA_FILES
 The \c LATEX_EXTRA_FILES tag can be used to specify one or more extra images
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2155
 or other source files which should be copied to the \f$\mbox{\LaTeX}\f$ output directory.
2156 2157 2158
 Note that the files will be copied as-is; there are no commands or markers
 available.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2159 2160 2161 2162
\anchor cfg_pdf_hyperlinks
<dt>\c PDF_HYPERLINKS <dd>
 \addindex PDF_HYPERLINKS

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2163
 If the \c PDF_HYPERLINKS tag is set to \c YES, the \f$\mbox{\LaTeX}\f$ that 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2164
 is generated is prepared for conversion to PDF (using \c ps2pdf or \c pdflatex). 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2165
 The PDF file will
2166
 contain links (just like the HTML output) instead of page references.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2167
 This makes the output suitable for online browsing using a PDF viewer.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2168

2169
\anchor cfg_use_pdflatex
2170 2171 2172 2173
<dt>\c USE_PDFLATEX <dd>
 \addindex LATEX_PDFLATEX

 If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2174
 \c pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
2175 2176
 files.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2177 2178 2179 2180
\anchor cfg_latex_batchmode
<dt>\c LATEX_BATCHMODE <dd>
 \addindex LATEX_BATCHMODE

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2181
 If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \c \\batchmode
2182 2183 2184 2185
 command to the generated \f$\mbox{\LaTeX}\f$ files. This will 
 instruct \f$\mbox{\LaTeX}\f$ to keep running if errors occur, instead of 
 asking the user for help. This option is also used when generating formulas 
 in HTML.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2186

2187 2188 2189 2190 2191 2192 2193 2194 2195
\anchor cfg_latex_bib_style 
<dt>\c LATEX_BIB_STYLE <dd>
 \addindex LATEX_BIB_STYLE

 The \c LATEX_BIB_STYLE tag can be used to specify the style to use for the 
 bibliography, e.g. \c plainnat, or \c ieeetr. The default style is 
 \c plain. See http://en.wikipedia.org/wiki/BibTeX and \ref cmdcite "\\cite"
 for more info.

2196 2197 2198 2199 2200 2201 2202 2203
\anchor cfg_latex_hide_indices
<dt>\c LATEX_HIDE_INDICES <dd>
 \addindex LATEX_HIDE_INDICES

 If \c LATEX_HIDE_INDICES is set to \c YES then doxygen will not
 include the index chapters (such as File Index, Compound Index, etc.) 
 in the output. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2204 2205 2206
\anchor cfg_latex_source_code
 <dt>\c LATEX_SOURCE_CODE <dd>
 If \c LATEX_SOURCE_CODE is set to \c YES then doxygen will include 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2207
 source code with syntax highlighting in the \f$\mbox{\LaTeX}\f$ output. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2208 2209 2210
 Note that which sources are shown also depends on other settings 
 such as \ref cfg_source_browser "SOURCE_BROWSER".

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2211
</dl>
2212
\section rtf_output RTF related options
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2213
\anchor cfg_generate_rtf
2214 2215
<dl>

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2216 2217
<dt>\c GENERATE_RTF <dd>
 \addindex GENERATE_RTF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2218
 If the \c GENERATE_RTF tag is set to \c YES doxygen will generate RTF output.
2219
 The RTF output is optimized for Word 97 and may not look too pretty with
2220
 other readers/editors.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2221 2222 2223 2224 2225

\anchor cfg_rtf_output
<dt>\c RTF_OUTPUT <dd>
 \addindex RTF_OUTPUT
 The \c RTF_OUTPUT tag is used to specify where the RTF docs will be put.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2226 2227
 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
 put in front of it. If left blank '`rtf`' will be used as the default path.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2228 2229 2230 2231
 
\anchor cfg_compact_rtf
<dt>\c COMPACT_RTF <dd>
 \addindex COMPACT_RTF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2232
 If the \c COMPACT_RTF tag is set to \c YES doxygen generates more compact
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244
 RTF documents. This may be useful for small projects and may help to
 save some trees in general.

\anchor cfg_rtf_hyperlinks
<dt>\c RTF_HYPERLINKS <dd>
 \addindex RTF_HYPERLINKS
 If the \c RTF_HYPERLINKS tag is set to \c YES, the RTF that is generated
 will contain hyperlink fields. The RTF file will
 contain links (just like the HTML output) instead of page references.
 This makes the output suitable for online browsing using Word or some other
 Word compatible reader that support those fields.

2245
 \par Note:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2246
   WordPad (write) and others do not support links.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2247

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2248
\anchor cfg_rtf_stylesheet_file 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2249 2250 2251
<dt>\c RTF_STYLESHEET_FILE <dd>
 \addindex RTF_STYLESHEET_FILE
 Load stylesheet definitions from file. Syntax is similar to doxygen's
2252
 config file, i.e. a series of assignments. You only have to provide
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2253 2254
 replacements, missing definitions are set to their default value.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2255 2256
 See also section \ref doxygen_usage for information on how to generate
 the default style sheet that doxygen normally uses.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2257

2258 2259
\anchor cfg_rtf_extensions_file
<dt>\c RTF_EXTENSIONS_FILE <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2260
 Set optional variables used in the generation of an RTF document.
2261 2262 2263 2264
 Syntax is similar to doxygen's config file. 
 A template extensions file can be generated using 
 <code>doxygen -e rtf extensionFile</code>.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2265 2266
</dl>

2267
\section man_output Man page related options
2268
\anchor cfg_generate_man
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2269 2270 2271 2272
<dl>

<dt>\c GENERATE_MAN <dd>
 \addindex GENERATE_MAN
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2273
 If the \c GENERATE_MAN tag is set to \c YES (the default) doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2274 2275
 generate man pages for classes and files.

2276
\anchor cfg_man_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2277 2278 2279
<dt>\c MAN_OUTPUT <dd>
 \addindex MAN_OUTPUT
 The \c MAN_OUTPUT tag is used to specify where the man pages will be put.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2280 2281 2282
 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be
 put in front of it. If left blank '`man`' will be used as the default path.
 A directory \c man3 will be created inside the directory specified by 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2283 2284
 \c MAN_OUTPUT.

2285
\anchor cfg_man_extension
2286 2287
<dt>\c MAN_EXTENSION <dd>
 \addindex MAX_EXTENSION
2288
 The \c MAN_EXTENSION tag determines the extension that is added to
2289 2290
 the generated man pages (default is the subroutine's section .3). In case
 the manual section does not start with a number, the number 3 is prepended.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2291
 The dot (.) at the beginning of the \c MAN_EXTENSION is optional.
2292 2293 2294

\anchor cfg_man_links
<dt>\c MAN_LINKS <dd> 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2295
 \addindex MAN_LINKS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2296
 If the \c MAN_LINKS tag is set to \c YES and doxygen generates man output, 
2297 2298 2299 2300 2301
 then it will generate one additional man file for each entity documented in 
 the real man page(s). These additional files only source the real man page, 
 but without them the man command would be unable to find the correct page. 
 The default is \c NO.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2302
</dl>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2303

2304 2305 2306 2307 2308 2309
\section xml_output XML related options
\anchor cfg_generate_xml
<dl>

<dt>\c GENERATE_XML <dd>
 \addindex GENERATE_XML
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2310
 If the \c GENERATE_XML tag is set to \c YES doxygen will
2311 2312 2313
 generate an XML file that captures the structure of
 the code including all documentation. 

2314 2315 2316 2317
\anchor cfg_xml_output
<dt>\c XML_OUTPUT <dd>
 \addindex XML_OUTPUT
 The \c XML_OUTPUT tag is used to specify where the XML pages will be put. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2318 2319
 If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be 
 put in front of it. If left blank '`xml`' will be used as the default path.
2320

2321 2322 2323
\anchor cfg_xml_schema
<dt>\c XML_SCHEMA <dd>
 \addindex XML_SCHEMA
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2324
 The \c XML_SCHEMA tag can be used to specify a XML schema,
2325 2326 2327 2328 2329 2330
 which can be used by a validating XML parser to check the
 syntax of the XML files.

\anchor cfg_xml_dtd
<dt>\c XML_DTD <dd>
 \addindex XML_DTD
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2331
 The \c XML_DTD tag can be used to specify a XML DTD,
2332 2333 2334
 which can be used by a validating XML parser to check the
 syntax of the XML files.

2335 2336 2337
\anchor cfg_xml_programlisting
<dt>\c XML_PROGRAMLISTING <dd>
 \addindex XML_PROGRAMLISTING
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2338
 If the \c XML_PROGRAMLISTING tag is set to \c YES doxygen will
2339 2340 2341 2342
 dump the program listings (including syntax highlighting
 and cross-referencing information) to the XML output. Note that
 enabling this will significantly increase the size of the XML output.

2343 2344
</dl>

2345 2346 2347 2348 2349 2350
\section docbook_output Docbook related options
\anchor cfg_generate_docbook
<dl>

<dt>\c GENERATE_DOCBOOK <dd>
 \addindex GENERATE_DOCBOOK
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2351
If the \c GENERATE_DOCBOOK tag is set to \c YES doxygen will generate Docbook files 
2352 2353 2354 2355 2356 2357 2358
that can be used to generate PDF.

\anchor cfg_docbook_output
<dt>\c DOCBOOK_OUTPUT <dd>
 \addindex DOCBOOK_OUTPUT
The \c DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. 
If a relative path is entered the value of \ref cfg_output_directory "OUTPUT_DIRECTORY" will be put in 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2359
front of it. If left blank '`docbook`' will be used as the default path.
2360 2361 2362

</dl>

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2363 2364 2365 2366 2367 2368
\section autogen_output AUTOGEN_DEF related options
\anchor cfg_generate_autogen_def
<dl>

<dt>\c GENERATE_AUTOGEN_DEF <dd>
 \addindex GENERATE_AUTOGEN_DEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2369
 If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382
 generate an AutoGen Definitions (see http://autogen.sf.net) file
 that captures the structure of the code including all
 documentation. Note that this feature is still experimental 
 and incomplete at the moment. 

</dl>

\section perlmod_output PERLMOD related options
\anchor cfg_generate_perlmod
<dl>

<dt>\c GENERATE_PERLMOD <dd>
 \addindex GENERATE_PERLMOD
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2383
 If the \c GENERATE_PERLMOD tag is set to \c YES doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2384 2385 2386 2387 2388 2389 2390 2391
 generate a Perl module file that captures the structure of
 the code including all documentation. Note that this 
 feature is still experimental and incomplete at the
 moment.

\anchor cfg_perlmod_latex
<dt>\c PERLMOD_LATEX <dd>
 \addindex PERLMOD_LATEX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2392 2393
 If the \c PERLMOD_LATEX tag is set to \c YES doxygen will generate 
 the necessary Makefile rules, Perl scripts and \f$\mbox{\LaTeX}\f$ code to be able 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407
 to generate PDF and DVI output from the Perl module output. 

\anchor cfg_perlmod_pretty
<dt>\c PERLMOD_PRETTY <dd>
 \addindex PERLMOD_PRETTY
 If the \c PERLMOD_PRETTY tag is set to \c YES the Perl module output will be 
 nicely formatted so it can be parsed by a human reader.  This is useful 
 if you want to understand what is going on. On the other hand, if this
 tag is set to \c NO the size of the Perl module output will be much smaller
 and Perl will parse it just the same. 

\anchor cfg_perlmod_makevar_prefix
<dt>\c PERLMOD_MAKEVAR_PREFIX <dd>
 \addindex PERLMOD_MAKEVAR_PREFIX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2408
 The names of the make variables in the generated `doxyrules.make` file 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2409
 are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2410 2411
 This is useful so different `doxyrules.make` files included by the same
 `Makefile` don't overwrite each other's variables.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2412 2413 2414

</dl>

2415
\section config_prepro Preprocessor related options
2416
\anchor cfg_enable_preprocessing
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2417 2418 2419 2420
<dl>

<dt>\c ENABLE_PREPROCESSING <dd>
 \addindex ENABLE_PREPROCESSING
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2421
 If the \c ENABLE_PREPROCESSING tag is set to \c YES (the default) doxygen will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2422 2423 2424
 evaluate all C-preprocessor directives found in the sources and include
 files. 

2425
\anchor cfg_macro_expansion
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2426 2427
<dt>\c MACRO_EXPANSION <dd>
 \addindex MACRO_EXPANSION
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2428
 If the \c MACRO_EXPANSION tag is set to \c YES doxygen will expand all macro
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2429
 names in the source code. If set to \c NO (the default) only conditional 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2430
 compilation will be performed. Macro expansion can be done in a controlled
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2431
 way by setting \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" to \c YES.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2432 2433 2434 2435

\anchor cfg_expand_only_predef
<dt>\c EXPAND_ONLY_PREDEF <dd>
 \addindex EXPAND_ONLY_PREDEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2436
 If the \c EXPAND_ONLY_PREDEF and \ref cfg_macro_expansion "MACRO_EXPANSION" tags are both set to \c YES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2437
 then the macro expansion is limited to the macros specified with the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2438
 \ref cfg_predefined "PREDEFINED" and \ref cfg_expand_as_defined "EXPAND_AS_DEFINED" tags.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2439

2440
\anchor cfg_search_includes
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2441 2442 2443
<dt>\c SEARCH_INCLUDES <dd>
 \addindex SEARCH_INCLUDES 
 If the \c SEARCH_INCLUDES tag is set to \c YES (the default) the includes files
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2444
 in the \ref cfg_include_path "INCLUDE_PATH" will be searched if a \c \#include is found.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2445

2446
\anchor cfg_include_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2447 2448 2449 2450 2451 2452
<dt>\c INCLUDE_PATH <dd>
 \addindex INCLUDE_PATH
 The \c INCLUDE_PATH tag can be used to specify one or more directories that
 contain include files that are not input files but should be processed by
 the preprocessor.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2453 2454 2455 2456
\anchor cfg_include_file_patterns
<dt>\c INCLUDE_FILE_PATTERNS <dd>
 \addindex INCLUDE_FILE_PATTERNS
 You can use the \c INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
2457
 patterns (like `*.h` and `*.hpp`) to filter out the header-files in the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2458
 directories. If left blank, the patterns specified with \ref cfg_file_patterns "FILE_PATTERNS" will 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2459 2460
 be used. 

2461
\anchor cfg_predefined
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2462 2463 2464
<dt>\c PREDEFINED <dd>
 \addindex PREDEFINED
 The \c PREDEFINED tag can be used to specify one or more macro names that
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2465 2466
 are defined before the preprocessor is started (similar to the `-D` option of
 \c gcc). The argument of the tag is a list of macros of the form:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2467
 <code>name</code> or <code>name=definition</code> (no spaces). 
2468
 If the definition and the \c "=" are omitted,  \c "=1" is assumed. To prevent
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2469
 a macro definition from being undefined via \c \#undef or recursively expanded
2470
 use the <code>:=</code> operator instead of the \c = operator.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2471

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2472 2473 2474
\anchor cfg_expand_as_defined
<dt>\c EXPAND_AS_DEFINED <dd>
 \addindex EXPAND_AS_DEFINED
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2475 2476
 If the \ref cfg_macro_expansion "MACRO_EXPANSION" and
 \ref cfg_expand_only_predef "EXPAND_ONLY_PREDEF" tags are set to \c YES then
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2477 2478
 this tag can be used to specify a list of macro names that should be expanded.
 The macro definition that is found in the sources will be used.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2479
 Use the \ref cfg_predefined "PREDEFINED" tag if you want to use a different macro definition.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2480

2481 2482 2483 2484 2485
\anchor cfg_skip_function_macros
<dt>\c SKIP_FUNCTION_MACROS <dd>
 \addindex SKIP_FUNCTION_MACROS
 If the \c SKIP_FUNCTION_MACROS tag is set to \c YES (the default) then 
 doxygen's preprocessor will remove all function-like macros that are alone 
2486 2487
 on a line, have an all uppercase name, and do not end with a semicolon. 
 Such function macros are typically 
2488 2489
 used for boiler-plate code, and will confuse the parser if not removed. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2490
</dl>
2491
\section config_extref External reference options
2492
\anchor cfg_tagfiles
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2493 2494 2495 2496
<dl>

<dt>\c TAGFILES <dd> 
 \addindex TAGFILES
2497 2498 2499 2500 2501
 The \c TAGFILES tag can be used to specify one or more tag files. 

 See \ref external for more information about the use of tag files.

 \note
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2502
  Each tag file must have an unique name 
2503
  (where the name does \e not include the path).
2504 2505
  If a tag file is not located in the directory in which doxygen 
  is run, you must also specify the path to the tagfile here.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2506

2507
\anchor cfg_generate_tagfile
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2508 2509 2510 2511
<dt>\c GENERATE_TAGFILE <dd>
 \addindex GENERATE_TAGFILE
 When a file name is specified after \c GENERATE_TAGFILE, doxygen will create
 a tag file that is based on the input files it reads.
2512
 See section \ref external for more information about the usage of 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2513 2514
 tag files.

2515
\anchor cfg_allexternals
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2516 2517
<dt>\c ALLEXTERNALS <dd>
 \addindex ALLEXTERNALS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2518
 If the \c ALLEXTERNALS tag is set to \c YES all external class will be listed
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2519 2520 2521
 in the class index. If set to \c NO only the inherited external classes
 will be listed.

2522 2523 2524 2525 2526 2527
\anchor cfg_external_groups
<dt>\c EXTERNAL_GROUPS <dd>
 \addindex EXTERNAL_GROUPS
 If the \c EXTERNAL_GROUPS tag is set to \c YES all external groups will be listed
 in the modules index. If set to \c NO, only the current project's groups will
 be listed.
2528 2529 2530 2531 2532 2533 2534

\anchor cfg_external_pages
<dt>\c EXTERNAL_PAGES <dd>
 \addindex EXTERNAL_PAGES
 If the \c EXTERNAL_PAGES tag is set to \c YES all external pages will be listed 
 in the related pages index. If set to \c NO, only the current project's 
 pages will be listed. 
2535
 
2536
\anchor cfg_perl_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2537 2538 2539
<dt>\c PERL_PATH <dd>
 \addindex PERL_PATH
 The \c PERL_PATH should be the absolute path and name of the perl script
2540
 interpreter (i.e. the result of '<tt>which perl</tt>').
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2541

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2542
</dl>
2543
\section config_dot Dot options
2544
\anchor cfg_class_diagrams
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2545 2546
<dl>

2547 2548 2549 2550
<dt>\c CLASS_DIAGRAMS <dd>
 \addindex CLASS_DIAGRAMS
 If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) doxygen will
 generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or
2551
super classes. Setting the tag to \c NO turns the diagrams off. Note that 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2552 2553
this option also works with \ref cfg_have_dot "HAVE_DOT" disabled, but it is recommended to 
install and use \c dot, since it yields more powerful graphs. 
2554

2555 2556 2557 2558
\anchor cfg_mscgen_path
<dt>\c MSCGEN_PATH <dd>
 \addindex MSCGEN_PATH
 You can define message sequence charts within doxygen comments using the \ref cmdmsc "\\msc" 
2559
 command. Doxygen will then run the <a href="http://www.mcternan.me.uk/mscgen/">mscgen tool</a>) to 
2560 2561 2562 2563
 produce the chart and insert it in the documentation. The <code>MSCGEN_PATH</code> tag allows you to 
 specify the directory where the mscgen tool resides. If left empty the tool is assumed to 
 be found in the default search path.

2564
\anchor cfg_have_dot
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2565 2566
<dt>\c HAVE_DOT <dd>
 \addindex HAVE_DOT
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2567 2568 2569
 If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the \c dot tool is
 available from the \c path. This tool is part of 
 <a href=" http://www.graphviz.org/">Graphviz</a>, a graph 
2570
 visualization toolkit from AT\&T and Lucent Bell Labs. The other options in 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2571
 this section have no effect if this option is set to \c NO (the default)
2572

2573 2574 2575
\anchor cfg_dot_num_threads
<dt>\c DOT_NUM_THREADS <dd>
 \addindex DOT_NUM_THREADS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2576
 The \c DOT_NUM_THREADS specifies the number of \c dot invocations doxygen is 
2577
 allowed to run in parallel. When set to \c 0 (the default) doxygen will 
2578 2579 2580 2581
 base this on the number of processors available in the system. You can set it 
 explicitly to a value larger than 0 to get control over the balance 
 between CPU load and processing speed.  

2582 2583 2584
\anchor cfg_dot_fontname
<dt>\c DOT_FONTNAME <dd>
 \addindex DOT_FONTNAME
2585 2586 2587 2588 2589
 By default doxygen will use the Helvetica font for all dot files that 
 doxygen generates. 
 When you want a differently looking font you can specify the font name 
 using \c DOT_FONTNAME. You need to make sure dot is able to find the font, 
 which can be done by putting it in a standard location or by setting the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2590
 \c DOTFONTPATH environment variable or by setting \ref cfg_dot_fontpath "DOT_FONTPATH" to the 
2591
 directory containing the font. 
2592

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2593 2594 2595 2596 2597
\anchor cfg_dot_fontsize
<dt>\c DOT_FONTSIZE <dd>
The \c DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
The default size is 10pt. 

2598 2599 2600
\anchor cfg_dot_fontpath
<dt>\c DOT_FONTPATH <dd>
 \addindex DOT_FONTPATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2601
 By default doxygen will tell \c dot to use the output directory to look for the 
2602
 \c FreeSans.ttf font (which doxygen will put there itself). If you specify a 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2603
 different font using \ref cfg_dot_fontname "DOT_FONTNAME" you can set the path where \c dot 
2604
 can find it using this tag.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2605
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2606 2607 2608
\anchor cfg_class_graph
<dt>\c CLASS_GRAPH <dd>
 \addindex CLASS_GRAPH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2609
 If the \c CLASS_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen
2610
 will generate a graph for each documented class showing the direct and
2611
 indirect inheritance relations. Setting this tag to \c YES will force 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2612
 the \ref cfg_class_diagrams "CLASS_DIAGRAMS" tag to \c NO.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2613

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2614 2615 2616
\anchor cfg_collaboration_graph
<dt>\c COLLABORATION_GRAPH <dd>
 \addindex COLLABORATION_GRAPH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2617
 If the \c COLLABORATION_GRAPH and \ref cfg_have_dot "HAVE_DOT" are set to \c YES then doxygen
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2618 2619 2620 2621
 will generate a graph for each documented class showing the direct and
 indirect implementation dependencies (inheritance, containment, and
 class references variables) of the class with other documented classes.

2622 2623 2624
\anchor cfg_group_graphs
<dt>\c GROUP_GRAPHS <dd>
 \addindex GROUP_GRAPHS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2625
 If the \c GROUP_GRAPHS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen
2626 2627 2628 2629 2630
 will generate a graph for groups, showing the direct groups dependencies.

\anchor cfg_uml_look
<dt>\c UML_LOOK <dd>
 \addindex UML_LOOK
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2631
 If the \c UML_LOOK tag is set to \c YES doxygen will generate inheritance and
2632 2633 2634
 collaboration diagrams in a style similar to the OMG's Unified Modeling
 Language.

2635 2636 2637
\anchor cfg_uml_limit_num_fields
<dt>\c UML_LIMIT_NUM_FIELDS <dd>
 \addindex UML_LIMIT_NUM_FIELDS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2638
 If the \ref cfg_uml_look "UML_LOOK" tag is enabled, the fields and methods are shown inside 
2639 2640 2641
 the class node. If there are many fields or methods and many nodes the 
 graph may become too big to be useful. The \c UML_LIMIT_NUM_FIELDS 
 threshold limits the number of items for each type to make the size more 
2642
 manageable. Set this to 0 for no limit. Note that the threshold may be
2643 2644 2645 2646
 exceeded by 50% before the limit is enforced. So when you set the threshold
 to 10, up to 15 fields may appear, but if the number exceeds 15, the
 total amount of fields shown is limited to 10.

2647 2648 2649
\anchor cfg_template_relations
<dt>\c TEMPLATE_RELATIONS <dd>
 \addindex TEMPLATE_RELATIONS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2650
 If the \c TEMPLATE_RELATIONS and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then 
2651 2652
 doxygen will show the relations between templates and their instances.

2653 2654 2655
\anchor cfg_hide_undoc_relations
<dt>\c HIDE_UNDOC_RELATIONS <dd>
 \addindex HIDE_UNDOC_RELATIONS
2656
 If set to \c YES, the inheritance and collaboration graphs will hide
2657 2658 2659
 inheritance and usage relations if the target is undocumented
 or is not a class.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2660 2661 2662
\anchor cfg_include_graph
<dt>\c INCLUDE_GRAPH <dd>
 \addindex INCLUDE_GRAPH 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2663 2664 2665
 If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING",
 \ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDE_GRAPH",
 and \ref cfg_have_dot "HAVE_DOT"
2666
 tags are set to \c YES then doxygen will generate a graph for each documented file
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2667 2668 2669
 showing the direct and indirect include dependencies of the file with other
 documented files.

2670 2671 2672
\anchor cfg_included_by_graph
<dt>\c INCLUDED_BY_GRAPH <dd>
 \addindex INCLUDED_BY_GRAPH 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2673 2674 2675
 If the \ref cfg_enable_preprocessing "ENABLE_PREPROCESSING",
 \ref cfg_search_includes "SEARCH_INCLUDES", \ref cfg_include_graph "INCLUDED_BY_GRAPH", and
 \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will generate a graph for each
2676 2677
 documented header file showing the documented files that directly or indirectly
 include this file.
2678

2679 2680 2681
\anchor cfg_call_graph
<dt>\c CALL_GRAPH <dd>
 \addindex CALL_GRAPH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2682
 If the \c CALL_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will 
2683 2684 2685
 generate a call dependency graph for every global function or class method. 
 Note that enabling this option will significantly increase the time of a run.
 So in most cases it will be better to enable call graphs for selected 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2686
 functions only using the \ref cmdcallgraph "\\callgraph" command.
2687

2688 2689 2690
\anchor cfg_caller_graph
<dt>\c CALLER_GRAPH <dd>
 \addindex CALLER_GRAPH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2691
 If the \c CALLER_GRAPH and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then doxygen will 
2692 2693 2694
 generate a caller dependency graph for every global function or class method. 
 Note that enabling this option will significantly increase the time of a run.
 So in most cases it will be better to enable caller graphs for selected 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2695
 functions only using the \ref cmdcallergraph "\\callergraph" command.
2696

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2697 2698
\anchor cfg_graphical_hierarchy
<dt>\c GRAPHICAL_HIERARCHY <dd>
2699
 \addindex GRAPHICAL_HIERARCHY
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2700
 If the \c GRAPHICAL_HIERARCHY and \ref cfg_have_dot "HAVE_DOT" tags are set to \c YES then 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2701 2702
 doxygen will graphical hierarchy of all classes instead of a textual one.

2703 2704 2705
\anchor cfg_directory_graph
<dt>\c DIRECTORY_GRAPH <dd>
 \addindex DIRECTORY_GRAPH		    
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2706
 If the \c DIRECTORY_GRAPH, and \ref cfg_have_dot "HAVE_DOT" options are set 
2707
 to \c YES then doxygen will show the dependencies a directory has on other directories
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2708
 in a graphical way. The dependency relations are determined by the \c \#include
2709 2710
 relations between the files in the directories.

2711 2712 2713
\anchor cfg_dot_graph_max_nodes 
<dt>\c DOT_GRAPH_MAX_NODES <dd>
 \addindex DOT_GRAPH_MAX_NODES
2714
 The \c DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
2715 2716 2717 2718
 nodes that will be shown in the graph. If the number of nodes in a graph
 becomes larger than this value, doxygen will truncate the graph, which is 
 visualized by representing a node as a red box. Note that doxygen if the number
 of direct children of the root node in a graph is already larger than
2719
 \c DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2720
 that the size of a graph can be further restricted by \ref cfg_max_dot_graph_depth "MAX_DOT_GRAPH_DEPTH".
2721 2722 2723 2724 2725

\anchor cfg_max_dot_graph_depth
<dt>\c MAX_DOT_GRAPH_DEPTH <dd>
 \addindex MAX_DOT_GRAPH_DEPTH
 The \c MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2726
 graphs generated by \c dot. A depth value of 3 means that only nodes reachable
2727 2728 2729 2730
 from the root by following a path via at most 3 edges will be shown. Nodes
 that lay further from the root node will be omitted. Note that setting this
 option to 1 or 2 may greatly reduce the computation time needed for large
 code bases. Also note that the size of a graph can be further restricted by
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2731
 \ref cfg_dot_graph_max_nodes "DOT_GRAPH_MAX_NODES". Using a depth of 0 means no depth restriction (the default).
2732

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2733 2734 2735
\anchor cfg_dot_image_format
<dt>\c DOT_IMAGE_FORMAT <dd>
 \addindex DOT_IMAGE_FORMAT
2736
 The \c DOT_IMAGE_FORMAT tag can be used to set the image format of the images
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2737
 generated by \c dot. Possible values are \c svg, \c png, \c jpg, or \c gif.
2738
 If left blank png will be used.
2739
 \note If you choose \c svg you need to set 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2740
 \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to \c xhtml in order to make the SVG files
2741
 visible in IE 9+ (other browsers do not have this requirement).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2742

2743
\anchor cfg_interactive_svg
2744
<dt>\c INTERACTIVE_SVG <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2745
 If \ref cfg_dot_image_format "DOT_IMAGE_FORMAT" is set to \c svg, then this option can be set to \c YES to
2746
 enable generation of interactive SVG images that allow zooming and panning. 
2747 2748
 Note that this requires a modern browser other than Internet Explorer. 
 Tested and working are Firefox, Chrome, Safari, and Opera.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2749
 \note For IE 9+ you need to set \ref cfg_html_file_extension "HTML_FILE_EXTENSION" to xhtml in order 
2750
 to make the SVG files visible. Older versions of IE do not have SVG support.
2751

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2752 2753 2754
\anchor cfg_dot_path
<dt>\c DOT_PATH <dd>
 \addindex DOT_PATH
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2755 2756
 This tag can be used to specify the path where the \c dot tool can be found. 
 If left blank, it is assumed the \c dot tool can be found in the \c path. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2757

2758 2759 2760 2761 2762
\anchor cfg_dotfile_dirs
<dt>\c DOTFILE_DIRS <dd>
 \addindex DOTFILE_DIRS
 This tag can be used to specify one or more directories that 
 contain dot files that are included in the documentation (see the
2763 2764 2765 2766 2767 2768 2769 2770
 \ref cmddotfile "\\dotfile" command).

\anchor cfg_mscfile_dirs
<dt>\c MSCFILE_DIRS <dd>
 \addindex MSCFILE_DIRS
 This tag can be used to specify one or more directories that 
 contain msc files that are included in the documentation (see the
 \ref cmdmscfile "\\mscfile" command).
2771

2772 2773 2774
\anchor cfg_dot_transparent
<dt>\c DOT_TRANSPARENT <dd>
 \addindex DOT_TRANSPARENT
2775 2776 2777 2778 2779
 Set the \c DOT_TRANSPARENT tag to \c YES to generate images with a transparent
 background. This is disabled by default, because dot on Windows does not 
 seem to support this out of the box. Warning: Depending on the platform used, 
 enabling this option may lead to badly anti-aliased labels on the edges of 
 a graph (i.e. they become hard to read). 
2780 2781 2782 2783 2784 2785
 
\anchor cfg_dot_multi_targets
<dt>\c DOT_MULTI_TARGETS <dd>
 \addindex DOT_MULTI_TARGET
 Set the \c DOT_MULTI_TARGETS tag to \c YES allow dot to generate multiple output
 files in one run (i.e. multiple -o and -T options on the command line). This
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2786
 makes \c dot run faster, but since only newer versions of \c dot (>1.8.10)
2787 2788
 support this, this feature is disabled by default.

2789
\anchor cfg_generate_legend 
2790 2791
<dt>\c GENERATE_LEGEND <dd>
 \addindex GENERATE_LEGEND
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2792
 If the \c GENERATE_LEGEND tag is set to \c YES (the default) doxygen will
2793 2794 2795
 generate a legend page explaining the meaning of the various boxes and
 arrows in the dot generated graphs.

2796 2797 2798
\anchor cfg_dot_cleanup
<dt>\c DOT_CLEANUP <dd>
 \addindex DOT_CLEANUP
2799
If the \c DOT_CLEANUP tag is set to \c YES (the default) doxygen will
2800
remove the intermediate dot files that are used to generate the various graphs.
2801

2802

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2803 2804 2805 2806 2807 2808 2809 2810 2811 2812
</dl>
<h2>Examples</h2>

Suppose you have a simple project consisting of two files: a source file 
\c example.cc and a header file \c example.h.
Then a minimal configuration file is as simple as:
\verbatim
INPUT            = example.cc example.h
\endverbatim

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2813
Assuming the example makes use of Qt classes and \c perl is located 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2814 2815 2816 2817 2818 2819
in <code>/usr/bin</code>, a more realistic configuration file would be:
\verbatim
PROJECT_NAME     = Example
INPUT            = example.cc example.h
WARNINGS         = YES
TAGFILES         = qt.tag
2820
PERL_PATH        = /usr/local/bin/perl
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834
SEARCHENGINE     = NO
\endverbatim

To generate the documentation for the 
<a href="http://www.stack.nl/~dimitri/qdbttabular/index.html">QdbtTabular</a> package
I have used the following configuration file:
\verbatim
PROJECT_NAME     = QdbtTabular
OUTPUT_DIRECTORY = html
WARNINGS         = YES
INPUT            = examples/examples.doc src
FILE_PATTERNS    = *.cc *.h
INCLUDE_PATH     = examples
TAGFILES         = qt.tag
2835
PERL_PATH        = /usr/bin/perl
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2836 2837 2838
SEARCHENGINE     = YES
\endverbatim

2839
To regenerate the Qt-1.44 documentation from the sources, you could use the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852
following config file:
\verbatim
PROJECT_NAME         = Qt
OUTPUT_DIRECTORY     = qt_docs
HIDE_UNDOC_MEMBERS   = YES
HIDE_UNDOC_CLASSES   = YES
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION      = YES
EXPAND_ONLY_PREDEF   = YES
SEARCH_INCLUDES      = YES
FULL_PATH_NAMES      = YES
STRIP_FROM_PATH      = $(QTDIR)/
PREDEFINED           = USE_TEMPLATECLASS Q_EXPORT= \
2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868
                       QArrayT:=QArray \
                       QListT:=QList \
                       QDictT:=QDict \
                       QQueueT:=QQueue \
                       QVectorT:=QVector \
                       QPtrDictT:=QPtrDict \
                       QIntDictT:=QIntDict \
                       QStackT:=QStack \
                       QDictIteratorT:=QDictIterator \
                       QListIteratorT:=QListIterator \
                       QCacheT:=QCache \
                       QCacheIteratorT:=QCacheIterator \
                       QIntCacheT:=QIntCache \
                       QIntCacheIteratorT:=QIntCacheIterator \
                       QIntDictIteratorT:=QIntDictIterator \
                       QPtrDictIteratorT:=QPtrDictIterator
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2869 2870 2871 2872 2873 2874 2875 2876 2877 2878
INPUT                = $(QTDIR)/doc \
                       $(QTDIR)/src/widgets \
                       $(QTDIR)/src/kernel \
                       $(QTDIR)/src/dialogs \
                       $(QTDIR)/src/tools
FILE_PATTERNS        = *.cpp *.h q*.doc
INCLUDE_PATH         = $(QTDIR)/include 
RECURSIVE            = YES
\endverbatim

2879
For the Qt-2.1 sources I recommend to use the following settings:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907
\verbatim
PROJECT_NAME          = Qt
PROJECT_NUMBER        = 2.1
HIDE_UNDOC_MEMBERS    = YES
HIDE_UNDOC_CLASSES    = YES
SOURCE_BROWSER        = YES
INPUT                 = $(QTDIR)/src
FILE_PATTERNS         = *.cpp *.h q*.doc
RECURSIVE             = YES
EXCLUDE_PATTERNS      = *codec.cpp moc_* */compat/* */3rdparty/*
ALPHABETICAL_INDEX    = YES
COLS_IN_ALPHA_INDEX   = 3
IGNORE_PREFIX         = Q
ENABLE_PREPROCESSING  = YES
MACRO_EXPANSION       = YES
INCLUDE_PATH          = $(QTDIR)/include
PREDEFINED            = Q_PROPERTY(x)= \
                        Q_OVERRIDE(x)= \
                        Q_EXPORT= \
                        Q_ENUMS(x)= \
                        "QT_STATIC_CONST=static const " \
                        _WS_X11_ \
                        INCLUDE_MENUITEM_DEF
EXPAND_ONLY_PREDEF    = YES
EXPAND_AS_DEFINED     = Q_OBJECT_FAKE Q_OBJECT ACTIVATE_SIGNAL_WITH_PARAM \
                        Q_VARIANT_AS
\endverbatim

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2908
Here doxygen's preprocessor is used to substitute some
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2909 2910 2911
macro names that are normally substituted by the C preprocessor,
but without doing full macro expansion.

2912 2913 2914 2915 2916 2917

\htmlonly
Go to the <a href="commands.html">next</a> section or return to the
 <a href="index.html">index</a>.
\endhtmlonly

Dimitri van Heesch's avatar
Dimitri van Heesch committed
2918 2919
*/