config.doc 75.1 KB
Newer Older
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1 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-2005 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
\section config_format Format
Dimitri van Heesch's avatar
Dimitri van Heesch committed
20

21
A configuration file is a free-form ASCII text file with a structure
22
that is similar to that of a Makefile, with the default name \c Doxyfile. It is
23 24
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
25
Comments may be placed anywhere within the file (except within quotes).
26
Comments begin with the \# character and end at the end of the line.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
27 28 29

The file essentially consists of a list of assignment statements.
Each statement consists of a \c TAG_NAME written in capitals,
30 31 32 33 34 35
followed by the <code>=</code> character and one or more values. If the same tag
is assigned more than once, the last assignment overwrites any earlier
assignment. For options that take a list as their argument,
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 
contain one or more blanks it must be surrounded by quotes (&quot;...&quot;).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
36
Multiple lines can be concatenated by inserting a backslash (\\)
37
as the last character of a line. Environment variables can be expanded 
38
using the pattern <code>\$(ENV_VARIABLE_NAME)</code>.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
39

40 41 42 43 44 45 46
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
47
in the current working directory. Do this by putting a <code>\@INCLUDE_PATH</code> tag 
48 49
with these paths before the <code>\@INCLUDE</code> tag, e.g:
\verbatim
50
@INCLUDE_PATH = my_config_dir
51 52
\endverbatim

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

57
\secreflist
58
\refitem cfg_abbreviate_brief ABBREVIATE_BRIEF
59 60 61 62 63
\refitem cfg_aliases ALIASES
\refitem cfg_allexternals ALLEXTERNALS 
\refitem cfg_alphabetical_index ALPHABETICAL_INDEX 
\refitem cfg_always_detailed_sec ALWAYS_DETAILED_SEC
\refitem cfg_binary_toc BINARY_TOC
64
\refitem cfg_builtin_stl_support BUILTIN_STL_SUPPORT
65
\refitem cfg_brief_member_desc BRIEF_MEMBER_DESC 
66
\refitem cfg_call_graph CALL_GRAPH
67 68 69 70 71 72 73 74
\refitem cfg_case_sense_names CASE_SENSE_NAMES 
\refitem cfg_chm_file CHM_FILE
\refitem cfg_class_diagrams CLASS_DIAGRAMS 
\refitem cfg_class_graph CLASS_GRAPH
\refitem cfg_collaboration_graph COLLABORATION_GRAPH
\refitem cfg_cols_in_alpha_index COLS_IN_ALPHA_INDEX
\refitem cfg_compact_latex COMPACT_LATEX 
\refitem cfg_compact_rtf COMPACT_RTF
75
\refitem cfg_create_subdirs CREATE_SUBDIRS
76
\refitem cfg_details_at_top DETAILS_AT_TOP 
77
\refitem cfg_directory_graph DIRECTORY_GRAPH
78 79 80
\refitem cfg_disable_index DISABLE_INDEX 
\refitem cfg_distribute_group_doc DISTRIBUTE_GROUP_DOC
\refitem cfg_dot_image_format DOT_IMAGE_FORMAT
81
\refitem cfg_dot_multi_targets DOT_MULTI_TARGETS
82
\refitem cfg_dot_path DOT_PATH
83
\refitem cfg_dot_transparent DOT_TRANSPARENT
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
\refitem cfg_dotfile_dirs DOTFILE_DIRS
\refitem cfg_enable_preprocessing ENABLE_PREPROCESSING
\refitem cfg_enum_values_per_line ENUM_VALUES_PER_LINE
\refitem cfg_enabled_sections ENABLED_SECTIONS
\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
\refitem cfg_exclude_symlinks EXCLUDE_SYMLINKS
\refitem cfg_expand_as_defined EXPAND_AS_DEFINED
\refitem cfg_expand_only_predef EXPAND_ONLY_PREDEF
\refitem cfg_external_groups EXTERNAL_GROUPS
\refitem cfg_extra_packages EXTRA_PACKAGES
\refitem cfg_extract_all EXTRACT_ALL
\refitem cfg_extract_local_classes EXTRACT_LOCAL_CLASSES
100
\refitem cfg_extract_local_methods EXTRACT_LOCAL_METHODS
101 102 103
\refitem cfg_extract_private EXTRACT_PRIVATE
\refitem cfg_extract_static EXTRACT_STATIC
\refitem cfg_file_patterns FILE_PATTERNS
104
\refitem cfg_file_version_filter FILE_VERSION_FILTER
105
\refitem cfg_filter_patterns FILTER_PATTERNS
106 107
\refitem cfg_filter_source_files FILTER_SOURCE_FILES
\refitem cfg_full_path_names FULL_PATH_NAMES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
108
\refitem cfg_generate_autogen_def GENERATE_AUTOGEN_DEF
109 110
\refitem cfg_generate_buglist GENERATE_BUGLIST
\refitem cfg_generate_chi GENERATE_CHI
Dimitri van Heesch's avatar
Dimitri van Heesch committed
111
\refitem cfg_generate_deprecatedlist GENERATE_DEPRECIATEDLIST
112 113 114 115 116
\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
117
\refitem cfg_generate_perlmod GENERATE_PERLMOD
118 119 120 121 122
\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
123
\refitem cfg_generate_xml GENERATE_XML
124
\refitem cfg_graphical_hierarchy GRAPHICAL_HIERARCHY
125
\refitem cfg_group_graphs GROUP_GRAPHS
126 127
\refitem cfg_have_dot HAVE_DOT
\refitem cfg_hhc_location HHC_LOCATION
128
\refitem cfg_hide_friend_compounds HIDE_FRIEND_COMPOUNDS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
129
\refitem cfg_hide_in_body_docs HIDE_IN_BODY_DOCS
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
\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
\refitem cfg_html_footer HTML_FOOTER
\refitem cfg_html_header HTML_HEADER
\refitem cfg_html_output HTML_OUTPUT
\refitem cfg_html_stylesheet HTML_STYLESHEET
\refitem cfg_ignore_prefix IGNORE_PREFIX
\refitem cfg_image_path IMAGE_PATH
\refitem cfg_include_graph INCLUDE_GRAPH
\refitem cfg_include_path INCLUDE_PATH
\refitem cfg_inherit_docs INHERIT_DOCS
\refitem cfg_inline_info INLINE_INFO
\refitem cfg_inline_inherited_memb INLINE_INHERITED_MEMB
\refitem cfg_inline_sources INLINE_SOURCES
\refitem cfg_input INPUT
\refitem cfg_input_filter INPUT_FILTER
\refitem cfg_internal_docs INTERNAL_DOCS
\refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF
\refitem cfg_latex_batchmode LATEX_BATCHMODE
\refitem cfg_latex_cmd_name LATEX_CMD_NAME
\refitem cfg_latex_header LATEX_HEADER
154
\refitem cfg_latex_hide_indices LATEX_HIDE_INDICES
155 156 157 158 159 160
\refitem cfg_latex_output LATEX_OUTPUT
\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
161
\refitem cfg_max_dot_graph_depth MAX_DOT_GRAPH_DEPTH
162 163 164 165 166 167 168 169 170 171 172
\refitem cfg_max_dot_graph_height MAX_DOT_GRAPH_HEIGHT
\refitem cfg_max_dot_graph_width MAX_DOT_GRAPH_WIDTH
\refitem cfg_max_initializer_lines MAX_INITIALIZER_LINES
\refitem cfg_multiline_cpp_is_brief MULTILINE_CPP_IS_BRIEF
\refitem cfg_optimize_output_for_c OPTIMIZE_OUTPUT_FOR_C
\refitem cfg_optimize_output_java OPTIMIZE_OUTPUT_JAVA
\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
173 174 175
\refitem cfg_perlmod_latex PERLMOD_LATEX
\refitem cfg_perlmod_pretty PERLMOD_PRETTY
\refitem cfg_perlmod_makevar_prefix PERLMOD_MAKEVAR_PREFIX
176 177 178 179 180 181 182 183 184 185 186 187 188 189
\refitem cfg_predefined PREDEFINED
\refitem cfg_project_name PROJECT_NAME
\refitem cfg_project_number PROJECT_NUMBER
\refitem cfg_quiet QUIET
\refitem cfg_recursive RECURSIVE
\refitem cfg_referenced_by_relation REFERENCED_BY_RELATION
\refitem cfg_references_relation REFERENCES_RELATION
\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
\refitem cfg_searchengine SEARCHENGINE
190
\refitem cfg_separate_member_pages SEPARATE_MEMBER_PAGES
191
\refitem cfg_short_names SHORT_NAMES
192
\refitem cfg_show_dirs SHOW_DIRECTORIES
193 194 195
\refitem cfg_show_include_files SHOW_INCLUDE_FILES
\refitem cfg_show_used_files SHOW_USED_FILES
\refitem cfg_skip_function_macros SKIP_FUNCTION_MACROS
196
\refitem cfg_sort_brief_docs SORT_BRIEF_DOCS
197 198 199
\refitem cfg_sort_member_docs SORT_MEMBER_DOCS
\refitem cfg_source_browser SOURCE_BROWSER
\refitem cfg_strip_code_comments STRIP_CODE_COMMENTS
200
\refitem cfg_strip_from_inc_path STRIP_FROM_INC_PATH
201
\refitem cfg_strip_from_path STRIP_FROM_PATH
202
\refitem cfg_subgrouping SUBGROUPING
203 204 205 206 207
\refitem cfg_tab_size TAB_SIZE
\refitem cfg_tagfiles TAGFILES
\refitem cfg_template_relations TEMPLATE_RELATIONS
\refitem cfg_toc_expand TOC_EXPAND
\refitem cfg_treeview_width TREEVIEW_WIDTH
208
\refitem cfg_uml_look UML_LOOK
209
\refitem cfg_use_htags USE_HTAGS
210
\refitem cfg_use_pdflatex USE_PDFLATEX
211
\refitem cfg_use_windows_encoding USE_WINDOWS_ENCODING
212 213
\refitem cfg_verbatim_headers VERBATIM_HEADERS
\refitem cfg_warn_format WARN_FORMAT
214
\refitem cfg_warn_if_doc_error WARN_IF_DOC_ERROR
215 216
\refitem cfg_warn_if_undocumented WARN_IF_UNDOCUMENTED
\refitem cfg_warn_logfile WARN_LOGFILE
217
\refitem cfg_warn_no_paramdoc WARN_NO_PARAMDOC
218
\refitem cfg_warnings WARNINGS
219
\refitem cfg_xml_dtd XML_DTD
220
\refitem cfg_xml_output XML_OUTPUT
221
\refitem cfg_xml_programlisting XML_PROGRAMLISTING
222
\refitem cfg_xml_schema XML_SCHEMA
223 224
\endsecreflist

225
\section config_project Project related options
226
\anchor cfg_project_name
Dimitri van Heesch's avatar
Dimitri van Heesch committed
227 228 229 230 231 232 233 234 235
<dl>

<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.

236
\anchor cfg_project_number
Dimitri van Heesch's avatar
Dimitri van Heesch committed
237 238 239 240 241 242
<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.

243
\anchor cfg_output_directory
Dimitri van Heesch's avatar
Dimitri van Heesch committed
244 245 246
<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
247
 path into which the generated documentation will be written. 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
248 249 250
 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.

251 252 253 254
\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
255
 4096 sub-directories (in 2 levels) under the output directory of each output 
256 257 258 259 260
 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. 

261
\anchor cfg_output_language
262 263 264 265 266 267
<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:
268 269 270 271
 Brazilian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
 German, Greek, Hungarian, Italian, Japanese, Korean, Lithuanian, Norwegian, 
 Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
 Swedish, and Ukrainian.
272

273 274 275 276 277 278 279
\anchor cfg_use_windows_encoding
<dt>\c USE_WINDOWS_ENCODING <dd>
 \addindex USE_WINDOWS_ENCODING
 This tag can be used to specify the encoding used in the generated output. 
 The encoding is not always determined by the language that is chosen, 
 but also whether or not the output is meant for Windows or non-Windows users.
 In case there is a difference, setting the \c USE_WINDOWS_ENCODING tag to \c YES
280 281
 forces the Windows encoding, (this is the default for the Windows binary),
 whereas setting the tag to \c NO uses a Unix-style encoding (the default for
282 283
 all platforms other than Windows).

284
\anchor cfg_brief_member_desc
Dimitri van Heesch's avatar
Dimitri van Heesch committed
285 286
<dt>\c BRIEF_MEMBER_DESC <dd>
 \addindex BRIEF_MEMBER_DESC
Dimitri van Heesch's avatar
Dimitri van Heesch committed
287
 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
288 289 290 291
 include brief member descriptions after the members that are listed in
 the file and class documentation (similar to JavaDoc).
 Set to NO to disable this.

292
\anchor cfg_repeat_brief
Dimitri van Heesch's avatar
Dimitri van Heesch committed
293 294
<dt>\c REPEAT_BRIEF <dd>
 \addindex REPEAT_BRIEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
295
 If the \c REPEAT_BRIEF tag is set to \c YES (the default) doxygen will 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
296 297 298
 prepend the brief description of a member or function before the detailed 
 description 

299
 \par Note: 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
300 301 302
 If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the 
 brief descriptions will be completely suppressed.

303 304 305 306 307 308 309 310 311 312 313 314
\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
 stripped from the text and the result after processing the whole list, is used
 as the annotated text. Otherwise, the brief description is used as-is. If left
 blank, the following values are used ("\$name" is automatically replaced with the
 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
315 316
\anchor cfg_always_detailed_sec
<dt>\c ALWAYS_DETAILED_SEC <dd>
317
 \addindex ALWAYS_DETAILED_SEC
318
 If the \c ALWAYS_DETAILED_SEC and \c REPEAT_BRIEF tags are both set to \c YES then
Dimitri van Heesch's avatar
Dimitri van Heesch committed
319
 doxygen will generate a detailed section even if there is only a brief
320
 description.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
321

Dimitri van Heesch's avatar
Dimitri van Heesch committed
322 323 324 325 326 327 328 329
\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.

330
\anchor cfg_full_path_names
Dimitri van Heesch's avatar
Dimitri van Heesch committed
331 332
<dt>\c FULL_PATH_NAMES <dd>
 \addindex FULL_PATH_NAMES
Dimitri van Heesch's avatar
Dimitri van Heesch committed
333
 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
334 335 336
 path before files name in the file list and in the header files. If set
 to NO the shortest path that makes the file name unique will be used

337
\anchor cfg_strip_from_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
338 339 340
<dt>\c STRIP_FROM_PATH <dd>
 \addindex STRIP_FROM_PATH
 If the \c FULL_PATH_NAMES tag is set to \c YES then the \c STRIP_FROM_PATH tag
341
 can be used to strip a user-defined part of the path. Stripping is
342
 only done if one of the specified strings matches the left-hand part of the 
343 344 345 346 347
 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
348 349
<dt>\c STRIP_FROM_INC_PATH <dd>
 \addindex STRIP_FROM_INC_PATH
350 351 352 353 354 355 356 357
 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 
 are normally passed to the compiler using the -I flag.


Dimitri van Heesch's avatar
Dimitri van Heesch committed
358

359
\anchor cfg_case_sense_names
Dimitri van Heesch's avatar
Dimitri van Heesch committed
360 361
<dt>\c CASE_SENSE_NAMES <dd>
 \addindex CASE_SENSE_NAMES
362
 If the \c CASE_SENSE_NAMES tag is set to \c NO then doxygen
363 364
 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
Dimitri van Heesch's avatar
Dimitri van Heesch committed
365
 classes or files whose names only differ in case and if your file system
366 367
 supports case sensitive file names. Windows users are advised to set this
 option to NO.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
368

369 370 371 372 373 374 375
\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.

376
\anchor cfg_javadoc_autobrief
377
<dt>\c JAVADOC_AUTOBRIEF <dd>
378
 \addindex JAVADOC_AUTOBRIEF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
379
  If the \c JAVADOC_AUTOBRIEF is set to \c YES then doxygen
380
  will interpret the first line (until the first dot) of a JavaDoc-style
381 382
  comment as the brief description. If set to NO (the default), the 
  Javadoc-style will behave just like the Qt-style comments.
383

384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401
\anchor cfg_builtin_stl_support
<dt>\c BUILTIN_STL_SUPPORT <dd>
 \addindex BUILTIN_STL_SUPPORT
 If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
 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
 definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
 func(std::string) {}). This also make the inheritance and collaboration
 diagrams that involve STL classes more complete and accurate.

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

402 403 404 405 406 407 408 409
\anchor cfg_multiline_cpp_is_brief
<dt>\c MULTILINE_CPP_IS_BRIEF <dd>
 \addindex MULTILINE_CPP_IS_BRIEF
  The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
  treat a multi-line C++ special comment block (i.e. a block of //! or ///
  comments) as a brief description. This used to be the default behaviour.
  The new default is to treat a multi-line C++ comment block as a detailed
  description. Set this tag to YES if you prefer the old behaviour instead.
410
  Note that setting this tag to YES also means that rational rose comments
411
  are not recognized any more.
412

Dimitri van Heesch's avatar
Dimitri van Heesch committed
413 414 415 416 417 418 419 420
\anchor cfg_details_at_top
<dt>\c DETAILS_AT_TOP <dd>
 \addindex DETAILS_AT_TOP
  If the DETAILS_AT_TOP tag is set to YES then Doxygen
  will output the detailed description near the top, like JavaDoc.
  If set to NO, the detailed description appears after the member
  documentation.

421 422 423 424 425
\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
426
 re-implements.
427

428 429 430 431 432 433 434
\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.

435 436
\anchor cfg_tab_size
<dt>\c TAB_SIZE <dd>
437 438 439
 \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.
440

441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
\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
 put the command \\sideeffect (or \@sideeffect) in the documentation, which 
 will result in a user-defined paragraph with heading "Side Effects:".
 You can put \\n's in the value part of an alias to insert newlines.

\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
469 470 471 472
 Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
 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. 
473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519

\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. 

</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 
 unless the \c EXTRACT_PRIVATE and \c EXTRACT_STATIC tags are set to \c YES

 \par Note: 
 This will also disable the warnings about undocumented members 
 that are normally produced when \c WARNINGS is set to \c YES

\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.

\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. 
 If set to NO only classes defined in header files are included. Does not
 have any effect for Java sources.

520 521 522 523 524 525 526 527
\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.

528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596
\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.
 This option has no effect if \c EXTRACT_ALL is enabled.

\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.
 This option has no effect if \c EXTRACT_ALL is enabled.

\anchor cfg_hide_friend_compounds
<dt>\c HIDE_FRIEND_COMPOUNDS <dd>
 \addindex HIDE_FRIEND_COMPOUNDS
 If the \c HIDE_FRIEND_COMPOUNDS tag is set to \c YES, Doxygen will hide all
 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
If the \c HIDE_IN_BODY_DOCS tag is set to \c YES, Doxygen will hide any 
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.

\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
 If the SHOW_INCLUDE_FILES tag is set to YES (the default) then doxygen
 will put a list of the files that are included by a file in the documentation 
 of that file.

\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.
597

598 599 600 601 602 603 604 605
\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.

606 607 608 609 610 611 612 613
\anchor cfg_generate_deprecatedlist
<dt>\c GENERATE_DEPRECATEDLIST <dd>
 \addindex GENERATE_DEPRECATEDLIST
 The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
 disable (NO) the deprecated list. This list is created by 
 putting \ref cmddeprecated "\\deprecated"
 commands in the documentation.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
\anchor cfg_generate_todolist
<dt>\c GENERATE_TODOLIST <dd>
 \addindex GENERATE_TODOLIST
 The GENERATE_TODOLIST tag can be used to enable (YES) or
 disable (NO) the todo list. This list is created by 
 putting \ref cmdtodo "\\todo"
 commands in the documentation.

\anchor cfg_generate_testlist
<dt>\c GENERATE_TESTLIST <dd>
 \addindex GENERATE_TESTLIST
 The GENERATE_TESTLIST tag can be used to enable (YES) or
 disable (NO) the test list. This list is created by 
 putting \ref cmdtest "\\test" commands in the documentation.

629 630 631 632 633 634 635
\anchor cfg_generate_buglist
<dt>\c GENERATE_BUGLIST <dd>
 \addindex GENERATE_BUGLIST
 The GENERATE_BUGLIST tag can be used to enable (YES) or
 disable (NO) the bug list. This list is created by 
 putting \ref cmdbug "\\bug" commands in the documentation.

636 637 638 639 640
\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\> ... 
641 642
 \ref cmdendif "\\endif" and \ref cmdcond "\\cond" \<section-label\> ...
 \ref cmdendcond "\\endcond" blocks.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
643

Dimitri van Heesch's avatar
Dimitri van Heesch committed
644 645 646 647 648 649 650 651
\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"
652
 or \ref cmdhideinitializer "\\hideinitializer" command in the documentation.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
653

654 655 656 657 658 659 660
\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.

661 662 663 664 665 666 667
\anchor cfg_show_dirs
<dt>\c SHOW_DIRECTORIES <dd>
 \addindex SHOW_DIRECTORIES
 If the sources in your project are distributed over multiple directories
 then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
 in the documentation.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
668 669
</dl>

670
\section messages_input Options related to warning and progress messages 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692
\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
693 694
 If \c WARN_IF_UNDOCUMENTED is set to \c YES, then doxygen will generate warnings
 for undocumented members. If \c EXTRACT_ALL is set to \c YES then this flag will
Dimitri van Heesch's avatar
Dimitri van Heesch committed
695 696
 automatically be disabled.

697 698
\anchor cfg_warn_if_doc_error
<dt>\c WARN_IF_DOC_ERROR <dd>
699
 \addindex WARN_IF_DOC_ERROR
700 701 702 703 704
 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. 

705
\anchor cfg_warn_no_paramdoc
706 707 708 709 710 711 712
<dt>\c WARN_NO_PARAMDOC <dd>
 \addindex WARN_NO_PARAMDOC
 This \c WARN_NO_PARAMDOC option can be abled to get warnings for 
 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.
713

Dimitri van Heesch's avatar
Dimitri van Heesch committed
714 715 716
\anchor cfg_warn_format
<dt>\c WARN_FORMAT <dd>
 \addindex WARN_FORMAT
717
 The \c WARN_FORMAT tag determines the format of the warning messages that
Dimitri van Heesch's avatar
Dimitri van Heesch committed
718 719
 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
720 721 722
 tags, which will be replaced by the file and line number from which the
 warning originated and the warning text.

723 724 725 726 727 728 729
\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 
 to stderr.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
730 731
</dl>

732
\section config_input Input related options
733
\anchor cfg_input
Dimitri van Heesch's avatar
Dimitri van Heesch committed
734 735 736 737 738 739 740 741 742
<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>

743
 \b Note: 
744
 If this tag is empty the current directory is searched.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
745

746
\anchor cfg_file_patterns
Dimitri van Heesch's avatar
Dimitri van Heesch committed
747 748 749 750 751
<dt>\c FILE_PATTERNS <dd>
 \addindex FILE_PATTERNS
 If the value of the \c INPUT tag contains directories, you can use the 
 \c FILE_PATTERNS tag to specify one or more wildcard patterns 
 (like \c *.cpp and \c *.h ) to filter out the source-files 
752 753 754
 in the directories. If left blank the following patterns are tested:
 <code>
 *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
755
 *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
756
 </code>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
757

758 759 760 761 762 763 764 765 766
\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
 popen()) the command <code>command input-file</code>, where \c command is 
 the value of the \c FILE_VERSION_FILTER tag, and \c input-file is the name 
 of an input file provided by doxygen. 
767
 Whatever the program writes to standard output is used as the file version. 
768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790

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

791
\anchor cfg_recursive
Dimitri van Heesch's avatar
Dimitri van Heesch committed
792 793 794 795 796 797
<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.

798
\anchor cfg_exclude
Dimitri van Heesch's avatar
Dimitri van Heesch committed
799 800 801 802 803 804
<dt>\c EXCLUDE <dd>
 \addindex EXCLUDE
 The \c EXCLUDE tag can be used to specify files and/or directories that should
 excluded from the \c INPUT source files. This way you can easily exclude a
 subdirectory from a directory tree whose root is specified with the \c INPUT tag.

805 806 807 808 809 810
\anchor cfg_exclude_symlinks
<dt>\c EXCLUDE_SYMLINKS <dd>
 \addindex EXCLUDE_SYMLINKS
 The \c EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
 that are symbolic links (a Unix filesystem feature) are excluded from the input.

811
\anchor cfg_exclude_patterns
Dimitri van Heesch's avatar
Dimitri van Heesch committed
812 813
<dt>\c EXCLUDE_PATTERNS <dd>
 \addindex EXCLUDE_PATTERNS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
814
 If the value of the \c INPUT tag contains directories, you can use the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
815 816 817
 \c EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
 certain files from those directories.

818 819 820 821
 Note that the wildcards are matched against the file with absolute path, 
 so to exclude all test directories use the pattern 
 <code>*</code><code>/test/</code><code>*</code>

822
\anchor cfg_example_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
823 824 825 826
<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
827
 the \\include command in section \ref cmdinclude "\\include").
Dimitri van Heesch's avatar
Dimitri van Heesch committed
828

829 830 831 832 833 834 835 836
\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
 searched for input files to be used with the \\include or \\dontinclude 
 commands irrespective of the value of the \c RECURSIVE tag. 
 Possible values are \c YES and \c NO. If left blank \c NO is used. 

837 838 839 840 841 842 843 844 845 846 847 848 849
\anchor cfg_example_patterns
<dt>\c EXAMPLE_PATTERNS <dd>
 \addindex EXAMPLE_PATTERNS
 If the value of the \c EXAMPLE_PATH tag contains directories, you can use the
 \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
 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 
850
 documentation (see the \ref cmdimage "\\image" command).
851

852
\anchor cfg_input_filter
Dimitri van Heesch's avatar
Dimitri van Heesch committed
853 854 855 856 857 858 859 860 861 862 863 864 865
<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
 by executing (via popen()) the command:
\verbatim <filter> <input-file>
\endverbatim
 
 where \<filter\>
 is the value of the \c INPUT_FILTER tag, and \<input-file\> is the name of an
 input file. Doxygen will then use the output that the filter program writes
 to standard output.

866 867 868 869 870 871 872 873 874 875
\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:
 pattern=filter (like <code>*.cpp=my_cpp_filter</code>). See \c INPUT_FILTER for further
 info on how filters are used. If \c FILTER_PATTERNS is empty, \c INPUT_FILTER
 is applied to all files. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
876 877 878 879
\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
880 881 882
 \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 
 (i.e. when SOURCE_BROWSER is set to YES).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
883

Dimitri van Heesch's avatar
Dimitri van Heesch committed
884 885
</dl>

886
\section sourcebrowser_index Source browsing related options
887 888 889 890 891 892 893 894 895 896 897 898 899 900
\anchor cfg_source_browser
<dl>

<dt>\c SOURCE_BROWSER <dd>
 \addindex SOURCE_BROWSER
 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.

\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.

901 902 903 904 905 906 907
\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.

908 909 910 911 912 913 914 915
\anchor cfg_referenced_by_relation
<dt>\c REFERENCED_BY_RELATION <dd>
 \addindex REFERENCED_BY_RELATION
 If the \c REFERENCED_BY_RELATION tag is set to \c YES (the default)
 then for each documented function all documented
 functions referencing it will be listed. 

\anchor cfg_references_relation
916
<dt>\c REFERENCES_RELATION <dd>
917 918 919 920 921
 \addindex REFERENCES_RELATION
 If the \c REFERENCES_RELATION tag is set to \c YES (the default)
 then for each documented function all documented entities
 called/used by that function will be listed. 

922 923 924 925 926 927 928 929
\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
  which an include is specified. Set to NO to disable this.
  \sa Section \ref cmdclass "\\class".

930 931 932 933 934 935
\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
 will point to the HTML generated by the htags(1) tool instead of doxygen
 built-in source browser. The htags tool is part of GNU's global source
Dimitri van Heesch's avatar
Dimitri van Heesch committed
936 937 938 939 940 941 942 943 944 945 946 947 948
 tagging system (see http://www.gnu.org/software/global/global.html).
 The use it do the following:

 -# Install the latest version of global (i.e. 4.8.6 or better)
 -# Enable SOURCE_BROWSER and USE_HTAGS in the config file
 -# Make sure the INPUT points to the root of the source tree
 -# Run doxygen as normal

 Doxygen will invoke htags (and that will in turn invoke gtags), so these tools
 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
 source code will now point to the output of htags.
949

950 951
</dl>

952
\section alphabetical_index Alphabetical index options
Dimitri van Heesch's avatar
Dimitri van Heesch committed
953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978
\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.

\anchor cfg_cols_in_alpha_index
<dt>\c COLS_IN_ALPHA_INDEX <dd>
 \addindex COLS_IN_ALPHA_INDEX
 If the alphabetical index is enabled 
 (see \c ALPHABETICAL_INDEX) then the \c COLS_IN_ALPHA_INDEX tag can be 
 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>
979
\section html_output HTML related options
980
\anchor cfg_generate_html
Dimitri van Heesch's avatar
Dimitri van Heesch committed
981 982 983 984
<dl>

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

988
\anchor cfg_html_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
989 990 991 992 993 994
<dt>\c HTML_OUTPUT <dd>
 \addindex HTML_OUTPUT
 The \c HTML_OUTPUT tag is used to specify where the HTML docs will be put.
 If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
 put in front of it. If left blank `html' will be used as the default path.

995 996 997 998 999 1000 1001
\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 
 each generated HTML page (for example: .htm, .php, .asp). If it is left blank
 doxygen will generate files with .html extension.

1002
\anchor cfg_html_header
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1003 1004
<dt>\c HTML_HEADER <dd>      
 \addindex HTML_HEADER
1005
 The \c HTML_HEADER tag can be used to specify a user-defined HTML 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1006
 header file for each generated HTML page. To get valid HTML the header file
1007
 should contain at least a \c \<HTML\> and a \c \<BODY\> tag, but it is
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1008 1009
 good idea to include the style sheet that is generated by doxygen as well. 
 Minimal example:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1010 1011 1012 1013
\verbatim
  <HTML>
    <HEAD>
      <TITLE>My title</TITLE>
1014
      <LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1015 1016 1017 1018 1019
    </HEAD>
    <BODY BGCOLOR="#FFFFFF">
\endverbatim
 If the tag is left blank doxygen will generate a 
 standard header. 
1020 1021

 The following commands have a special meaning inside the header:
1022
 <code>\$title</code>, <code>\$datetime</code>, <code>\$date</code>,
1023
 <code>\$doxygenversion</code>, <code>\$projectname</code>, and
1024
 <code>\$projectnumber</code>. 
1025
 Doxygen will replace them by respectively 
1026
 the title of the page, the current date and time, only the current date,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1027
 the version number of doxygen, the project name (see \c PROJECT_NAME), or the
1028 1029 1030 1031 1032
 project number (see \c PROJECT_NUMBER). 

 If \c CREATE_SUBDIRS is enabled, the command <code>\$relpath\$</code> can be 
 used to produce a relative path to the root of the HTML output directory,
 e.g. use \$relpath\$doxygen.css, to refer to the standard style sheet.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1033
   
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1034 1035 1036
 See also section \ref doxygen_usage for information on how to generate
 the default header that doxygen normally uses.
   
1037
\anchor cfg_html_footer
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1038 1039
<dt>\c HTML_FOOTER <dd>
 \addindex HTML_FOOTER
1040
 The \c HTML_FOOTER tag can be used to specify a user-defined HTML footer for 
1041
 each generated HTML page. To get valid HTML the footer file should contain
1042
 at least a \c \</BODY\> and a \c \</HTML\> tag. A minimal example:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1043 1044 1045 1046 1047 1048
\verbatim
    </BODY>
  </HTML>
\endverbatim
 If the tag is left blank doxygen will generate a standard footer.

1049
 The following commands have a special meaning inside the footer:
1050 1051 1052
 <code>\$title</code>, <code>\$datetime</code>, <code>\$date</code>,
 <code>\$doxygenversion</code>, <code>\$projectname</code>, 
 <code>\$projectnumber</code>. 
1053
 Doxygen will replace them by respectively 
1054
 the title of the page, the current date and time, only the current date,
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1055 1056
 the version number of doxygen, the project name (see \c PROJECT_NAME), or the
 project number (see \c PROJECT_NUMBER).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1057 1058 1059

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

1061 1062 1063
\anchor cfg_html_stylesheet
<dt>\c HTML_STYLESHEET <dd>
 \addindex HTML_STYLESHEET
1064
 The \c HTML_STYLESHEET tag can be used to specify a user-defined cascading
1065 1066
 style sheet that is used by each HTML page. It can be used to
 fine-tune the look of the HTML output. If the tag is left blank doxygen
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1067
 will generate a default style sheet. 
1068

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1069 1070
 See also section \ref doxygen_usage for information on how to generate
 the style sheet that doxygen normally uses.
1071

1072
\anchor cfg_html_align_members
1073
<dt>\c HTML_ALIGN_MEMBERS <dd>
1074 1075 1076
 \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
1077
 \c NO a bullet list will be used. 
1078

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

1083
\anchor cfg_generate_htmlhelp
1084
<dt>\c GENERATE_HTMLHELP <dd>
1085 1086 1087 1088 1089
 \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
1090 1091
 <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/vsconHH1Start.asp">
 Microsoft's HTML Help Workshop</a>
1092 1093
 on Windows.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1094
 The HTML Help Workshop contains a compiler that can convert all HTML output 
1095 1096
 generated by doxygen into a single compressed HTML file (.chm). Compressed
 HTML files are now used as the Windows 98 help format, and will replace
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1097
 the old Windows help format (.hlp) on all Windows platforms in the future.
1098
 Compressed HTML files also contain an index, a table of contents,
1099
 and you can search for words in the documentation.
1100
 The HTML workshop also contains a viewer for compressed HTML files.
1101

1102 1103 1104 1105 1106 1107
\anchor cfg_chm_file 
<dt>\c CHM_FILE <dd>
 \addindex CHM_FILE
  If the \c 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
  can add a path in front of the file if the result should not be
1108
  written to the html output directory.
1109 1110 1111 1112 1113 1114 1115

\anchor cfg_hhc_location 
<dt>\c HHC_LOCATION <dd>
 \addindex HHC_LOCATION
  If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c HHC_LOCATION tag can
  be used to specify the location (absolute path including file name) of 
  the HTML help compiler (hhc.exe). If non empty doxygen will try to run
1116
  the HTML help compiler on the generated index.hhp.
1117

1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134
\anchor cfg_generate_chi
<dt>\c GENERATE_CHI <dd>
 \addindex GENERATE_CHI
 If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c GENERATE_CHI flag
 controls if a separate .chi index file is generated (<code>YES</code>) or that
 it should be included in the master .chm file (<code>NO</code>).

\anchor cfg_binary_toc
<dt>\c BINARY_TOC <dd>
 \addindex BINARY_TOC
 If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c BINARY_TOC flag
 controls whether a binary table of contents is generated (<code>YES</code>) or a
 normal table of contents (<code>NO</code>) in the .chm file.

\anchor cfg_toc_expand
<dt>\c TOC_EXPAND <dd>
 \addindex TOC_EXPAND
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1135 1136
 The \c TOC_EXPAND flag can be set to YES to add extra items for 
 group members to the table of contents of the HTML help documentation 
1137 1138
 and to the tree view.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153
\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
 top of each page. A value of NO (the default) enables the index and the
 value YES disables it.

\anchor cfg_enum_values_per_line
<dt>\c ENUM_VALUES_PER_LINE <dd>
 \addindex ENUM_VALUES_PER_LINE
 This tag can be used to set the number of enum values (range [1..20])
 that doxygen will group on one line in the generated HTML documentation.

1154 1155 1156
\anchor cfg_generate_treeview
<dt>\c GENERATE_TREEVIEW <dd>
 \addindex GENERATE_TREEVIEW
1157
 If the \c GENERATE_TREEVIEW tag is set to YES, a side panel will be
1158 1159
 generated containing a tree-like index structure (just like the one that
 is generated for HTML Help). For this to work a browser that supports
1160 1161
 JavaScript and frames is required (for instance Mozilla 1.0+, Netscape 6.0+
 or Internet explorer 5.0+ or Konqueror).
1162 1163 1164 1165 1166 1167 1168 1169

\anchor cfg_treeview_width
<dt>\c TREEVIEW_WIDTH <dd>
 \addindex TREEVIEW_WIDTH
 If the treeview is enabled (see \c GENERATE_TREEVIEW) then this tag can be
 used to set the initial width (in pixels) of the frame in which the tree
 is shown.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1170
</dl>
1171
\section latex_output LaTeX related options
1172
\anchor cfg_generate_latex
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1173 1174 1175 1176
<dl>

<dt>\c GENERATE_LATEX <dd>
 \addindex GENERATE_LATEX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1177 1178
 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
1179

1180
\anchor cfg_latex_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1181 1182
<dt>\c LATEX_OUTPUT <dd>
 \addindex LATEX_OUTPUT
1183 1184
 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
1185 1186 1187
 If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
 put in front of it. If left blank `latex' will be used as the default path.

1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200
\anchor cfg_latex_cmd_name
<dt>\c LATEX_CMD_NAME <dd>
 \addindex LATEX_CMD_NAME
 The \c LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked. 
 If left blank `latex' will be used as the default command name.

\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 
 generate index for LaTeX. If left blank `makeindex' will be used as the 
 default command name.

1201
\anchor cfg_compact_latex
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1202 1203
<dt>\c COMPACT_LATEX <dd>
 \addindex COMPACT_LATEX
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1204
 If the \c COMPACT_LATEX tag is set to \c YES doxygen generates more compact
1205
 \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
1206 1207
 save some trees in general.

1208
\anchor cfg_paper_type
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1209 1210
<dt>\c PAPER_TYPE <dd>
 \addindex PAPER_TYPE
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1211
 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
1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
 by the printer. Possible values are: 
 <ul>
 <li><code>a4</code> (210 x 297 mm).
 <li><code>a4wide</code> (same as a4, but including the a4wide package).
 <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> 
 If left blank a4wide will be used.

1222
\anchor cfg_extra_packages
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1223 1224
<dt>\c EXTRA_PACKAGES <dd>
 \addindex EXTRA_PACKAGES
1225
 The \c EXTRA_PACKAGES tag can be used to specify one or more \f$\mbox{\LaTeX}\f$ 
1226
 package names that should be included in the \f$\mbox{\LaTeX}\f$ output.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1227 1228 1229 1230 1231
 To get the times font for instance you can specify 
\verbatim
EXTRA_PACKAGES = times
\endverbatim
 If left blank no extra packages will be included.
1232 1233 1234 1235 1236

\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
1237 1238
 header for the generated \f$\mbox{\LaTeX}\f$ document. 
 The header should contain everything until the first chapter. 
1239

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1240 1241 1242
 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.
1243
 
1244
 \par Note: 
1245
   Only use a user-defined header if you know what you are doing!
1246

1247 1248 1249 1250 1251 1252
 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
1253 1254
 the version number of doxygen, the project name (see \c PROJECT_NAME), or the
 project number (see \c PROJECT_NUMBER).
1255
   
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1256 1257 1258 1259
\anchor cfg_pdf_hyperlinks
<dt>\c PDF_HYPERLINKS <dd>
 \addindex PDF_HYPERLINKS

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

1266
\anchor cfg_use_pdflatex
1267 1268 1269 1270 1271 1272 1273
<dt>\c USE_PDFLATEX <dd>
 \addindex LATEX_PDFLATEX

 If the \c LATEX_PDFLATEX tag is set to \c YES, doxygen will use
 pdflatex to generate the PDF file directly from the \f$\mbox{\LaTeX}\f$
 files.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1274 1275 1276 1277
\anchor cfg_latex_batchmode
<dt>\c LATEX_BATCHMODE <dd>
 \addindex LATEX_BATCHMODE

1278 1279 1280 1281 1282
 If the \c LATEX_BATCHMODE tag is set to \c YES, doxygen will add the \\batchmode.
 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
1283

1284 1285 1286 1287 1288 1289 1290 1291
\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
1292
</dl>
1293
\section rtf_output RTF related options
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1294
\anchor cfg_generate_rtf
1295 1296
<dl>

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1297 1298
<dt>\c GENERATE_RTF <dd>
 \addindex GENERATE_RTF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1299
 If the \c GENERATE_RTF tag is set to \c YES doxygen will generate RTF output.
1300
 The RTF output is optimized for Word 97 and may not look too pretty with
1301
 other readers/editors.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1302 1303 1304 1305 1306

\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
1307
 If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1308 1309 1310 1311 1312
 put in front of it. If left blank \c rtf will be used as the default path.
 
\anchor cfg_compact_rtf
<dt>\c COMPACT_RTF <dd>
 \addindex COMPACT_RTF
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1313
 If the \c COMPACT_RTF tag is set to \c YES doxygen generates more compact
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326
 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.

 \par note:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1327
   WordPad (write) and others do not support links.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1328

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1329
\anchor cfg_rtf_stylesheet_file 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1330 1331 1332
<dt>\c RTF_STYLESHEET_FILE <dd>
 \addindex RTF_STYLESHEET_FILE
 Load stylesheet definitions from file. Syntax is similar to doxygen's
1333
 config file, i.e. a series of assignments. You only have to provide
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1334 1335
 replacements, missing definitions are set to their default value.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1336 1337
 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
1338

1339 1340
\anchor cfg_rtf_extensions_file
<dt>\c RTF_EXTENSIONS_FILE <dd>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1341
 Set optional variables used in the generation of an RTF document.
1342 1343 1344 1345
 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
1346 1347
</dl>

1348
\section man_output Man page related options
1349
\anchor cfg_generate_man
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1350 1351 1352 1353
<dl>

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

1357
\anchor cfg_man_output
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1358 1359 1360 1361 1362 1363 1364 1365
<dt>\c MAN_OUTPUT <dd>
 \addindex MAN_OUTPUT
 The \c MAN_OUTPUT tag is used to specify where the man pages will be put.
 If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
 put in front of it. If left blank `man' will be used as the default path.
 A directory man3 will be created inside the directory specified by 
 \c MAN_OUTPUT.

1366
\anchor cfg_man_extension
1367 1368
<dt>\c MAN_EXTENSION <dd>
 \addindex MAX_EXTENSION
1369
 The \c MAN_EXTENSION tag determines the extension that is added to
1370
 the generated man pages (default is the subroutine's section .3)
1371 1372 1373

\anchor cfg_man_links
<dt>\c MAN_LINKS <dd> 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1374
 \addindex MAN_LINKS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1375
 If the \c MAN_LINKS tag is set to \c YES and doxygen generates man output, 
1376 1377 1378 1379 1380
 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
1381
</dl>
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1382

1383 1384 1385 1386 1387 1388
\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
1389
 If the \c GENERATE_XML tag is set to \c YES Doxygen will
1390 1391 1392
 generate an XML file that captures the structure of
 the code including all documentation. 

1393 1394 1395 1396 1397 1398 1399
\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. 
 If a relative path is entered the value of \c OUTPUT_DIRECTORY will be 
 put in front of it. If left blank \c xml will be used as the default path.

1400 1401 1402
\anchor cfg_xml_schema
<dt>\c XML_SCHEMA <dd>
 \addindex XML_SCHEMA
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1403
 The \c XML_SCHEMA tag can be used to specify an XML schema,
1404 1405 1406 1407 1408 1409
 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
1410
 The \c XML_DTD tag can be used to specify an XML DTD,
1411 1412 1413
 which can be used by a validating XML parser to check the
 syntax of the XML files.

1414 1415 1416 1417 1418 1419 1420 1421
\anchor cfg_xml_programlisting
<dt>\c XML_PROGRAMLISTING <dd>
 \addindex XML_PROGRAMLISTING
 If the \c XML_PROGRAMLISTING tag is set to \c YES Doxygen will
 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.

1422 1423
</dl>

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475
\section autogen_output AUTOGEN_DEF related options
\anchor cfg_generate_autogen_def
<dl>

<dt>\c GENERATE_AUTOGEN_DEF <dd>
 \addindex GENERATE_AUTOGEN_DEF
 If the \c GENERATE_AUTOGEN_DEF tag is set to \c YES Doxygen will
 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
 If the \c GENERATE_PERLMOD tag is set to \c YES Doxygen will
 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
 If the \c PERLMOD_LATEX tag is set to \c YES Doxygen will generate 
 the necessary Makefile rules, Perl scripts and LaTeX code to be able 
 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
 The names of the make variables in the generated doxyrules.make file 
 are prefixed with the string contained in \c PERLMOD_MAKEVAR_PREFIX. 
 This is useful so different doxyrules.make files included by the same
 Makefile don't overwrite each other's variables.

</dl>

1476
\section config_prepro Preprocessor related options
1477
\anchor cfg_enable_preprocessing
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1478 1479 1480 1481
<dl>

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

1486
\anchor cfg_macro_expansion
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1487 1488
<dt>\c MACRO_EXPANSION <dd>
 \addindex MACRO_EXPANSION
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1489
 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
1490
 names in the source code. If set to \c NO (the default) only conditional 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1491 1492 1493 1494 1495 1496 1497 1498
 compilation will be performed. Macro expansion can be done in a controlled
 way by setting \c EXPAND_ONLY_PREDEF to \c YES.

\anchor cfg_expand_only_predef
<dt>\c EXPAND_ONLY_PREDEF <dd>
 \addindex EXPAND_ONLY_PREDEF
 If the \c EXPAND_ONLY_PREDEF and \c MACRO_EXPANSION tags are both set to YES
 then the macro expansion is limited to the macros specified with the
1499
 \c PREDEFINED and \c EXPAND_AS_DEFINED tags.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1500

1501
\anchor cfg_search_includes
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1502 1503 1504
<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
1505
 in the \c INCLUDE_PATH (see below) will be searched if a \#include is found.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1506

1507
\anchor cfg_include_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1508 1509 1510 1511 1512 1513
<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.

1514
\anchor cfg_predefined
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1515 1516 1517 1518 1519 1520
<dt>\c PREDEFINED <dd>
 \addindex PREDEFINED
 The \c PREDEFINED tag can be used to specify one or more macro names that
 are defined before the preprocessor is started (similar to the -D option of
 gcc). The argument of the tag is a list of macros of the form:
 <code>name</code> or <code>name=definition</code> (no spaces). 
1521
 If the definition and the "=" are omitted,  "=1" is assumed. To prevent
1522
 a macro definition from being undefined via \#undef or recursively expanded
1523
 use the := operator instead of the = operator.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1524

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1525 1526 1527
\anchor cfg_expand_as_defined
<dt>\c EXPAND_AS_DEFINED <dd>
 \addindex EXPAND_AS_DEFINED
1528
 If the \c MACRO_EXPANSION and \c EXPAND_ONLY_PREDEF tags are set to \c YES then
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1529 1530 1531
 this tag can be used to specify a list of macro names that should be expanded.
 The macro definition that is found in the sources will be used.
 Use the \c PREDEFINED tag if you want to use a different macro definition.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1532

1533 1534 1535 1536 1537
\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 
1538 1539
 on a line, have an all uppercase name, and do not end with a semicolon. 
 Such function macros are typically 
1540 1541
 used for boiler-plate code, and will confuse the parser if not removed. 

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1542
</dl>
1543
\section config_extref External reference options
1544
\anchor cfg_tagfiles
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1545 1546 1547 1548 1549
<dl>

<dt>\c TAGFILES <dd> 
 \addindex TAGFILES
 The \c TAGFILES tag can be used to specify one or more tagfiles. 
1550
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1551 1552 1553
 See section \ref doxytag_usage for more information about the usage of 
 tag files.
 
1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566
 Optionally an initial location of the external documentation 
 can be added for each tagfile.
 The format of a tag file without this location is as follows:
 <pre>
TAGFILES = file1 file2 ... </pre>
 Adding location for the tag files is done as follows:
 <pre>
TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
 where \c loc1 and \c loc2 can be relative or absolute paths or URLs, 
 If a location is present for each tag, the installdox tool (see 
 section \ref installdox_usage for more information) does not
 have to be run to correct the links.

1567
 \par Note:
1568 1569 1570 1571
  Each tag file must have a unique name 
  (where the name does \e not include the path)
  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
1572

1573
\anchor cfg_generate_tagfile
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1574 1575 1576 1577 1578 1579 1580
<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.
 See section \ref doxytag_usage for more information about the usage of 
 tag files.

1581
\anchor cfg_allexternals
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1582 1583
<dt>\c ALLEXTERNALS <dd>
 \addindex ALLEXTERNALS
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1584
 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
1585 1586 1587
 in the class index. If set to \c NO only the inherited external classes
 will be listed.

1588 1589 1590 1591 1592 1593 1594
\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.
 
1595
\anchor cfg_perl_path
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1596 1597 1598 1599 1600
<dt>\c PERL_PATH <dd>
 \addindex PERL_PATH
 The \c PERL_PATH should be the absolute path and name of the perl script
 interpreter (i.e. the result of `<tt>which perl</tt>').

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1601
</dl>
1602
\section config_dot Dot options
1603
\anchor cfg_class_diagrams
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1604 1605
<dl>

1606 1607 1608 1609 1610
<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
 super classes. Setting the tag to \c NO turns the diagrams off.
1611
 Note that this option is superseded by the HAVE_DOT option below. 
1612
 This is only a fallback. It is recommended to install and use dot, 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1613
 since it yields more powerful graphs. 
1614 1615

\anchor cfg_have_dot
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1616 1617 1618 1619
<dt>\c HAVE_DOT <dd>
 \addindex HAVE_DOT
 If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the dot tool is
 available from the path. This tool is part of 
1620
 <a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>, a graph 
1621
 visualization toolkit from AT\&T and Lucent Bell Labs. The other options in 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1622 1623
 this section have no effect if this option is set to \c NO (the default)
 
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1624 1625 1626
\anchor cfg_class_graph
<dt>\c CLASS_GRAPH <dd>
 \addindex CLASS_GRAPH
1627 1628 1629 1630
 If the \c CLASS_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen
 will generate a graph for each documented class showing the direct and
 indirect inheritance relations. Setting this tag to \c YES will force the
 the \c CLASS_DIAGRAMS tag to NO.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1631

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1632 1633 1634 1635 1636 1637 1638 1639
\anchor cfg_collaboration_graph
<dt>\c COLLABORATION_GRAPH <dd>
 \addindex COLLABORATION_GRAPH
 If the \c COLLABORATION_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen
 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.

1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652
\anchor cfg_group_graphs
<dt>\c GROUP_GRAPHS <dd>
 \addindex GROUP_GRAPHS
 If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
 will generate a graph for groups, showing the direct groups dependencies.

\anchor cfg_uml_look
<dt>\c UML_LOOK <dd>
 \addindex UML_LOOK
 If the UML_LOOK tag is set to YES doxygen will generate inheritance and
 collaboration diagrams in a style similar to the OMG's Unified Modeling
 Language.

1653 1654 1655 1656 1657 1658
\anchor cfg_template_relations
<dt>\c TEMPLATE_RELATIONS <dd>
 \addindex TEMPLATE_RELATIONS
 If the \c TEMPLATE_RELATIONS and \c HAVE_DOT tags are set to \c YES then 
 doxygen will show the relations between templates and their instances.

1659 1660 1661 1662 1663 1664 1665
\anchor cfg_hide_undoc_relations
<dt>\c HIDE_UNDOC_RELATIONS <dd>
 \addindex HIDE_UNDOC_RELATIONS
 If set to YES, the inheritance and collaboration graphs will hide
 inheritance and usage relations if the target is undocumented
 or is not a class.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1666 1667 1668
\anchor cfg_include_graph
<dt>\c INCLUDE_GRAPH <dd>
 \addindex INCLUDE_GRAPH 
1669 1670
 If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDE_GRAPH, and \c HAVE_DOT
 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
1671 1672 1673
 showing the direct and indirect include dependencies of the file with other
 documented files.

1674 1675 1676
\anchor cfg_included_by_graph
<dt>\c INCLUDED_BY_GRAPH <dd>
 \addindex INCLUDED_BY_GRAPH 
1677 1678 1679 1680
 If the \c ENABLE_PREPROCESSING, \c SEARCH_INCLUDES, \c INCLUDED_BY_GRAPH, and
 \c HAVE_DOT tags are set to \c YES then doxygen will generate a graph for each
 documented header file showing the documented files that directly or indirectly
 include this file.
1681

1682 1683 1684 1685 1686 1687 1688 1689 1690
\anchor cfg_call_graph
<dt>\c CALL_GRAPH <dd>
 \addindex CALL_GRAPH
 If the \c CALL_GRAPH and \c HAVE_DOT tags are set to \c YES then doxygen will 
 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 
 functions only using the \\callgraph command.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1691 1692
\anchor cfg_graphical_hierarchy
<dt>\c GRAPHICAL_HIERARCHY <dd>
1693
 \addindex GRAPHICAL_HIERARCHY
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1694 1695 1696
 If the \c GRAPHICAL_HIERARCHY and \c HAVE_DOT tags are set to \c YES then 
 doxygen will graphical hierarchy of all classes instead of a textual one.

1697 1698 1699 1700 1701
\anchor cfg_directory_graph
<dt>\c DIRECTORY_GRAPH <dd>
 \addindex DIRECTORY_GRAPH		    
 If the \c DIRECTORY_GRAPH, \c SHOW_DIRECTORIES and \c HAVE_DOT options are set 
 to \c YES then doxygen will show the dependencies a directory has on other directories
1702
 in a graphical way. The dependency relations are determined by the \#include
1703 1704
 relations between the files in the directories.

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1705 1706 1707
\anchor cfg_dot_image_format
<dt>\c DOT_IMAGE_FORMAT <dd>
 \addindex DOT_IMAGE_FORMAT
1708
 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
1709
 generated by dot. Possible values are gif, jpg, and png.
1710
 If left blank png will be used.
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1711

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1712 1713 1714 1715 1716 1717
\anchor cfg_dot_path
<dt>\c DOT_PATH <dd>
 \addindex DOT_PATH
 This tag can be used to specify the path where the dot tool can be found. 
 If left blank, it is assumed the dot tool can be found on the path. 

1718 1719 1720 1721 1722 1723 1724
\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
 \\dotfile command).

1725 1726 1727 1728 1729 1730 1731 1732 1733
\anchor cfg_max_dot_graph_height 
<dt>\c MAX_DOT_GRAPH_HEIGHT <dd>
 \addindex MAX_DOT_GRAPH_HEIGHT
 The \c MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
 (in pixels) of the graphs generated by dot. If a graph becomes larger than
 this value, doxygen will try to truncate the graph, so that it fits within
 the specified constraint. Beware that most browsers cannot cope with very
 large images.

1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745
\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 
graphs generated by dot. A depth value of 3 means that only nodes reachable 
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 a graph may be further truncated if the graph's image dimensions are 
not sufficient to fit the graph (see 
\ref cfg_max_dot_graph_width "MAX_DOT_GRAPH_WIDTH" and 
\ref cfg_max_dot_graph_height "MAX_DOT_GRAPH_HEIGHT"). 
1746
If 0 is used for the depth value (the default), the graph is 
1747
not depth-constraint.
1748

1749 1750 1751 1752 1753 1754 1755 1756 1757
\anchor cfg_max_dot_graph_width 
<dt>\c MAX_DOT_GRAPH_WIDTH <dd>
 \addindex MAX_DOT_GRAPH_WIDTH
 The \c MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
 (in pixels) of the graphs generated by dot. If a graph becomes larger than
 this value, doxygen will try to truncate the graph, so that it fits within
 the specified constraint. Beware that most browsers cannot cope with very
 large images.

1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773
\anchor cfg_dot_transparent
<dt>\c DOT_TRANSPARENT <dd>
 \addindex DOT_TRANSPARENT
 Set the \c DOT_TRANSPARENT tag to \c YES to generate images with a transparent 
 background. This is disabled by default, which results in a white background. 
 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).
 
\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
 makes dot run faster, but since only newer versions of dot (>1.8.10)
 support this, this feature is disabled by default.

1774
\anchor cfg_generate_legend 
1775 1776
<dt>\c GENERATE_LEGEND <dd>
 \addindex GENERATE_LEGEND
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1777
 If the \c GENERATE_LEGEND tag is set to \c YES (the default) doxygen will
1778 1779 1780
 generate a legend page explaining the meaning of the various boxes and
 arrows in the dot generated graphs.

1781 1782 1783
\anchor cfg_dot_cleanup
<dt>\c DOT_CLEANUP <dd>
 \addindex DOT_CLEANUP
1784
If the \c DOT_CLEANUP tag is set to \c YES (the default) doxygen will
1785
remove the intermediate dot files that are used to generate the various graphs.
1786

1787

Dimitri van Heesch's avatar
Dimitri van Heesch committed
1788
</dl>
1789
\section config_search Search engine options
1790
\anchor cfg_searchengine
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1791 1792 1793 1794
<dl>

<dt>\c SEARCHENGINE <dd>
 \addindex SEARCHENGINE
1795 1796 1797 1798 1799 1800 1801
 The \c SEARCHENGINE tag specifies whether or not the HTML output should
 contain a search facility. Possible values are \c YES and \c NO. 
 If set to YES, doxygen will produce a search index and a PHP script
 to search through the index. For this to work the documentation should
 be viewed via a web-server running PHP version 4.1.0 or higher.
 (See http://www.php.net/manual/en/installation.php for installation 
 instructions).
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838

</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

Assuming the example makes use of Qt classes and perl is located 
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
PERL_PATH        = /usr/bin/perl
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
PERL_PATH        = /usr/local/bin/perl
SEARCHENGINE     = YES
\endverbatim

1839
To regenerate the Qt-1.44 documentation from the sources, you could use the
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852
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= \
1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868
                       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
1869 1870 1871 1872 1873 1874 1875 1876 1877 1878
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

1879
For the Qt-2.1 sources I recommend to use the following settings:
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907
\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
1908
Here doxygen's preprocessor is used to substitute some
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1909 1910 1911 1912 1913
macro names that are normally substituted by the C preprocessor,
but without doing full macro expansion.

*/