configoptions.cpp 127 KB
Newer Older
1 2 3
/* WARNING: This file is generated!
 * Do not edit this file, but edit config.xml instead and run
 * python configgen.py to regenerate this file!
4 5 6 7 8
 */

#include "configoptions.h"
#include "config.h"
#include "portable.h"
9
#include "settings.h"
10 11 12 13 14 15 16 17

void addConfigOptions(Config *cfg)
{
  ConfigString *cs;
  ConfigEnum   *ce;
  ConfigList   *cl;
  ConfigInt    *ci;
  ConfigBool   *cb;
18 19

  //---------------------------------------------------------------------------
20
  cfg->addInfo("Project","Project related configuration options");
21 22 23
  //---------------------------------------------------------------------------

  //----
24
  cs = cfg->addString(
25
                 "DOXYFILE_ENCODING",
26 27 28 29
                 "This tag specifies the encoding used for all characters in the config file\n"
                 "that follow. The default is UTF-8 which is also the encoding used for all\n"
                 "text before the first occurrence of this tag. Doxygen uses libiconv (or the\n"
                 "iconv built into libc) for the transcoding. See\n"
30
                 "http://www.gnu.org/software/libiconv for the list of possible encodings."
31 32 33 34 35
                );
  cs->setDefaultValue("UTF-8");
  //----
  cs = cfg->addString(
                 "PROJECT_NAME",
36 37 38
                 "The PROJECT_NAME tag is a single word (or sequence of words) that should\n"
                 "identify the project. Note that if you do not use Doxywizard you need\n"
                 "to put quotes around the project name if it contains spaces."
39
                );
40
  cs->setDefaultValue("My Project");
41 42 43
  //----
  cs = cfg->addString(
                 "PROJECT_NUMBER",
44 45
                 "The PROJECT_NUMBER tag can be used to enter a project or revision number.\n"
                 "This could be handy for archiving the generated documentation or\n"
46
                 "if some version control system is used."
47 48
                );
  //----
49 50
  cs = cfg->addString(
                 "PROJECT_BRIEF",
51 52 53
                 "Using the PROJECT_BRIEF tag one can provide an optional one line description\n"
                 "for a project that appears at the top of each page and should give viewer\n"
                 "a quick idea about the purpose of the project. Keep the description short."
54 55 56 57 58 59 60 61 62 63 64
                );
  //----
  cs = cfg->addString(
                 "PROJECT_LOGO",
                 "With the PROJECT_LOGO tag one can specify an logo or icon that is\n"
                 "included in the documentation. The maximum height of the logo should not\n"
                 "exceed 55 pixels and the maximum width should not exceed 200 pixels.\n"
                 "Doxygen will copy the logo to the output directory."
                );
  cs->setWidgetType(ConfigString::File);
  //----
65 66
  cs = cfg->addString(
                 "OUTPUT_DIRECTORY",
67 68 69
                 "The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)\n"
                 "base path where the generated documentation will be put.\n"
                 "If a relative path is entered, it will be relative to the location\n"
70 71
                 "where doxygen was started. If left blank the current directory will be used."
                );
72 73 74 75
  cs->setWidgetType(ConfigString::Dir);
  //----
  cb = cfg->addBool(
                 "CREATE_SUBDIRS",
76 77 78 79 80
                 "If the CREATE_SUBDIRS tag is set to YES, then doxygen will create\n"
                 "4096 sub-directories (in 2 levels) under the output directory of each output\n"
                 "format and will distribute the generated files over these directories.\n"
                 "Enabling this option can be useful when feeding doxygen a huge amount of\n"
                 "source files, where putting all generated files in the same directory would\n"
81 82
                 "otherwise cause performance problems for the file system.",
                 FALSE
83 84 85 86
                );
  //----
  ce = cfg->addEnum(
                 "OUTPUT_LANGUAGE",
87 88 89 90 91 92 93
                 "The OUTPUT_LANGUAGE tag is used to specify the language in which all\n"
                 "documentation generated by doxygen is written. Doxygen will use this\n"
                 "information to generate all constant output in the proper language.\n"
                 "The default language is English, other supported languages are:\n"
                 "Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,\n"
                 "Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,\n"
                 "Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English\n"
94 95 96
                 "messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian,\n"
                 "Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic,\n"
                 "Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.",
97 98
                 "English"
                );
99 100 101 102 103 104 105 106 107 108 109
  ce->addValue("Afrikaans");
  ce->addValue("Arabic");
  ce->addValue("Brazilian");
  ce->addValue("Catalan");
  ce->addValue("Chinese");
  ce->addValue("Chinese-Traditional");
  ce->addValue("Croatian");
  ce->addValue("Czech");
  ce->addValue("Danish");
  ce->addValue("Dutch");
  ce->addValue("English");
110 111
  ce->addValue("Esperanto");
  ce->addValue("Farsi");
112 113 114 115 116 117 118 119 120 121
  ce->addValue("Finnish");
  ce->addValue("French");
  ce->addValue("German");
  ce->addValue("Greek");
  ce->addValue("Hungarian");
  ce->addValue("Italian");
  ce->addValue("Japanese");
  ce->addValue("Japanese-en");
  ce->addValue("Korean");
  ce->addValue("Korean-en");
122
  ce->addValue("Latvian");
123
  ce->addValue("Norwegian");
124
  ce->addValue("Macedonian");
125 126 127 128 129 130 131 132 133 134
  ce->addValue("Persian");
  ce->addValue("Polish");
  ce->addValue("Portuguese");
  ce->addValue("Romanian");
  ce->addValue("Russian");
  ce->addValue("Serbian");
  ce->addValue("Slovak");
  ce->addValue("Slovene");
  ce->addValue("Spanish");
  ce->addValue("Swedish");
135
  ce->addValue("Turkish");
136
  ce->addValue("Ukrainian");
137
  ce->addValue("Vietnamese");
138 139
  //----
  cb = cfg->addBool(
140
                 "BRIEF_MEMBER_DESC",
141 142 143
                 "If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will\n"
                 "include brief member descriptions after the members that are listed in\n"
                 "the file and class documentation (similar to JavaDoc).\n"
144 145 146
                 "Set to NO to disable this.",
                 TRUE
                );
147 148
  //----
  cb = cfg->addBool(
149
                 "REPEAT_BRIEF",
150 151 152
                 "If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend\n"
                 "the brief description of a member or function before the detailed description.\n"
                 "Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the\n"
153 154 155
                 "brief descriptions will be completely suppressed.",
                 TRUE
                );
156 157
  //----
  cl = cfg->addList(
158
                 "ABBREVIATE_BRIEF",
159 160 161 162 163 164 165 166
                 "This tag implements a quasi-intelligent brief description abbreviator\n"
                 "that is used to form the text in various listings. Each string\n"
                 "in this list, if found as the leading text of the brief description, will be\n"
                 "stripped from the text and the result after processing the whole list, is\n"
                 "used as the annotated text. Otherwise, the brief description is used as-is.\n"
                 "If left blank, the following values are used (\"$name\" is automatically\n"
                 "replaced with the name of the entity): \"The $name class\" \"The $name widget\"\n"
                 "\"The $name file\" \"is\" \"provides\" \"specifies\" \"contains\"\n"
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
                 "\"represents\" \"a\" \"an\" \"the\""
                );
  cl->addValue("The $name class");
  cl->addValue("The $name widget");
  cl->addValue("The $name file");
  cl->addValue("is");
  cl->addValue("provides");
  cl->addValue("specifies");
  cl->addValue("contains");
  cl->addValue("represents");
  cl->addValue("a");
  cl->addValue("an");
  cl->addValue("the");
  //----
  cb = cfg->addBool(
                 "ALWAYS_DETAILED_SEC",
183 184
                 "If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then\n"
                 "Doxygen will generate a detailed section even if there is only a brief\n"
185 186 187
                 "description.",
                 FALSE
                );
188
  //----
189 190
  cb = cfg->addBool(
                 "INLINE_INHERITED_MEMB",
191 192 193
                 "If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all\n"
                 "inherited members of a class in the documentation of that class as if those\n"
                 "members were ordinary class members. Constructors, destructors and assignment\n"
194 195 196
                 "operators of the base classes will not be shown.",
                 FALSE
                );
197
  //----
198 199
  cb = cfg->addBool(
                 "FULL_PATH_NAMES",
200 201
                 "If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full\n"
                 "path before files name in the file list and in the header files. If set\n"
202 203 204 205 206 207
                 "to NO the shortest path that makes the file name unique will be used.",
                 TRUE
                );
  //----
  cl = cfg->addList(
                 "STRIP_FROM_PATH",
208 209 210 211 212
                 "If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag\n"
                 "can be used to strip a user-defined part of the path. Stripping is\n"
                 "only done if one of the specified strings matches the left-hand part of\n"
                 "the path. The tag can be used to show relative paths in the file list.\n"
                 "If left blank the directory from which doxygen is run is used as the\n"
213 214 215
                 "path to strip. Note that you specify absolute paths here, but also\n"
                 "relative paths, which will be relative from the directory where doxygen is\n"
                 "started."
216
                );
217
  cl->addValue("");
218
  cl->addDependency("FULL_PATH_NAMES");
219
  //----
220
  cl = cfg->addList(
221
                 "STRIP_FROM_INC_PATH",
222 223 224 225 226
                 "The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of\n"
                 "the path mentioned in the documentation of a class, which tells\n"
                 "the reader which header file to include in order to use a class.\n"
                 "If left blank only the name of the header file containing the class\n"
                 "definition is used. Otherwise one should specify the include paths that\n"
227 228 229 230 231
                 "are normally passed to the compiler using the -I flag."
                );
  //----
  cb = cfg->addBool(
                 "SHORT_NAMES",
232
                 "If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter\n"
233
                 "(but less readable) file names. This can be useful if your file system\n"
234 235 236 237 238 239
                 "doesn't support long names like on DOS, Mac, or CD-ROM.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "JAVADOC_AUTOBRIEF",
240 241 242 243
                 "If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen\n"
                 "will interpret the first line (until the first dot) of a JavaDoc-style\n"
                 "comment as the brief description. If set to NO, the JavaDoc\n"
                 "comments will behave just like regular Qt-style comments\n"
244 245 246 247 248 249
                 "(thus requiring an explicit @brief command for a brief description.)",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "QT_AUTOBRIEF",
250 251 252 253
                 "If the QT_AUTOBRIEF tag is set to YES then Doxygen will\n"
                 "interpret the first line (until the first dot) of a Qt-style\n"
                 "comment as the brief description. If set to NO, the comments\n"
                 "will behave just like regular Qt-style comments (thus requiring\n"
254 255 256 257 258 259
                 "an explicit \\brief command for a brief description.)",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "MULTILINE_CPP_IS_BRIEF",
260 261 262 263
                 "The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen\n"
                 "treat a multi-line C++ special comment block (i.e. a block of //! or ///\n"
                 "comments) as a brief description. This used to be the default behaviour.\n"
                 "The new default is to treat a multi-line C++ comment block as a detailed\n"
264 265 266 267 268 269
                 "description. Set this tag to YES if you prefer the old behaviour instead.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "INHERIT_DOCS",
270 271
                 "If the INHERIT_DOCS tag is set to YES (the default) then an undocumented\n"
                 "member inherits the documentation from any documented member that it\n"
272 273 274 275 276 277
                 "re-implements.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "SEPARATE_MEMBER_PAGES",
278 279
                 "If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce\n"
                 "a new page for each member. If set to NO, the documentation of a member will\n"
280 281 282
                 "be part of the file/class/namespace that contains it.",
                 FALSE
                );
283 284
  //----
  ci = cfg->addInt(
285
                 "TAB_SIZE",
286
                 "The TAB_SIZE tag can be used to set the number of spaces in a tab.\n"
287
                 "Doxygen uses this value to replace tabs by spaces in code fragments.",
288
                 1,16,4
289 290 291 292
                );
  //----
  cl = cfg->addList(
                 "ALIASES",
293 294 295 296 297
                 "This tag can be used to specify a number of aliases that acts\n"
                 "as commands in the documentation. An alias has the form \"name=value\".\n"
                 "For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to\n"
                 "put the command \\sideeffect (or @sideeffect) in the documentation, which\n"
                 "will result in a user-defined paragraph with heading \"Side Effects:\".\n"
298 299 300
                 "You can put \\n's in the value part of an alias to insert newlines."
                );
  //----
301 302 303 304 305 306 307 308
  cl = cfg->addList(
                 "TCL_SUBST",
                 "This tag can be used to specify a number of word-keyword mappings (TCL only).\n"
                 "A mapping has the form \"name=value\". For example adding\n"
                 "\"class=itcl::class\" will allow you to use the command class in the\n"
                 "itcl::class meaning."
                );
  //----
309 310
  cb = cfg->addBool(
                 "OPTIMIZE_OUTPUT_FOR_C",
311 312 313
                 "Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C\n"
                 "sources only. Doxygen will then generate output that is more tailored for C.\n"
                 "For instance, some of the names that are used will be different. The list\n"
314 315 316 317 318 319
                 "of all members will be omitted, etc.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "OPTIMIZE_OUTPUT_JAVA",
320 321 322
                 "Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java\n"
                 "sources only. Doxygen will then generate output that is more tailored for\n"
                 "Java. For instance, namespaces will be presented as packages, qualified\n"
323 324 325 326 327 328
                 "scopes will look different, etc.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "OPTIMIZE_FOR_FORTRAN",
329 330
                 "Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran\n"
                 "sources only. Doxygen will then generate output that is more tailored for\n"
331 332 333 334 335 336
                 "Fortran.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "OPTIMIZE_OUTPUT_VHDL",
337 338
                 "Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL\n"
                 "sources. Doxygen will then generate output that is tailored for\n"
339 340 341
                 "VHDL.",
                 FALSE
                );
342 343
  //----
  cl = cfg->addList(
344
                 "EXTENSION_MAPPING",
345
                 "Doxygen selects the parser to use depending on the extension of the files it\n"
346 347 348 349 350 351 352 353 354
                 "parses. With this tag you can assign which parser to use for a given\n"
                 "extension. Doxygen has a built-in mapping, but you can override or extend it\n"
                 "using this tag. The format is ext=language, where ext is a file extension,\n"
                 "and language is one of the parsers supported by doxygen: IDL, Java,\n"
                 "Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C,\n"
                 "C++. For instance to make doxygen treat .inc files as Fortran files (default\n"
                 "is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note\n"
                 "that for custom extensions you also need to set FILE_PATTERNS otherwise the\n"
                 "files are not read by doxygen."
355 356
                );
  //----
357 358 359 360 361 362 363 364 365 366 367
  cb = cfg->addBool(
                 "MARKDOWN_SUPPORT",
                 "If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all\n"
                 "comments according to the Markdown format, which allows for more readable\n"
                 "documentation. See http://daringfireball.net/projects/markdown/ for details.\n"
                 "The output of markdown processing is further processed by doxygen, so you\n"
                 "can mix doxygen, HTML, and XML commands with Markdown formatting.\n"
                 "Disable only in case of backward compatibilities issues.",
                 TRUE
                );
  //----
368 369
  cb = cfg->addBool(
                 "AUTOLINK_SUPPORT",
370 371 372 373
                 "When enabled doxygen tries to link words that correspond to documented\n"
                 "classes, or namespaces to their corresponding documentation. Such a link can\n"
                 "be prevented in individual cases by by putting a % sign in front of the word\n"
                 "or globally by setting AUTOLINK_SUPPORT to NO.",
374 375 376
                 TRUE
                );
  //----
377 378
  cb = cfg->addBool(
                 "BUILTIN_STL_SUPPORT",
379 380 381 382
                 "If you use STL classes (i.e. std::string, std::vector, etc.) but do not want\n"
                 "to include (a tag file for) the STL sources as input, then you should\n"
                 "set this tag to YES in order to let doxygen match functions declarations and\n"
                 "definitions whose arguments contain STL classes (e.g. func(std::string); v.s.\n"
383
                 "func(std::string) {}). This also makes the inheritance and collaboration\n"
384 385 386 387 388 389
                 "diagrams that involve STL classes more complete and accurate.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "CPP_CLI_SUPPORT",
390
                 "If you use Microsoft's C++/CLI language, you should set this option to YES to\n"
391 392 393 394 395 396
                 "enable parsing support.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "SIP_SUPPORT",
397 398
                 "Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.\n"
                 "Doxygen will parse them like normal C++ but will assume all classes use public\n"
399 400 401 402 403 404
                 "instead of private inheritance when no explicit protection keyword is present.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "IDL_PROPERTY_SUPPORT",
405 406 407 408 409 410
                 "For Microsoft's IDL there are propget and propput attributes to indicate\n"
                 "getter and setter methods for a property. Setting this option to YES (the\n"
                 "default) will make doxygen replace the get and set methods by a property in\n"
                 "the documentation. This will only work if the methods are indeed getting or\n"
                 "setting a simple type. If this is not the case, or you want to show the\n"
                 "methods anyway, you should set this option to NO.",
411 412 413 414 415
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "DISTRIBUTE_GROUP_DOC",
416 417 418
                 "If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC\n"
                 "tag is set to YES, then doxygen will reuse the documentation of the first\n"
                 "member in the group (if any) for the other members of the group. By default\n"
419 420 421 422 423 424
                 "all members of a group must be documented explicitly.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "SUBGROUPING",
425 426 427 428
                 "Set the SUBGROUPING tag to YES (the default) to allow class member groups of\n"
                 "the same type (for instance a group of public functions) to be put as a\n"
                 "subgroup of that type (e.g. under the Public Functions section). Set it to\n"
                 "NO to prevent subgrouping. Alternatively, this can be done per class using\n"
429 430 431
                 "the \\nosubgrouping command.",
                 TRUE
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
432 433 434 435 436 437 438 439 440
  //----
  cb = cfg->addBool(
                 "INLINE_GROUPED_CLASSES",
                 "When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and\n"
                 "unions are shown inside the group in which they are included (e.g. using\n"
                 "@ingroup) instead of on a separate page (for HTML and Man pages) or\n"
                 "section (for LaTeX and RTF).",
                 FALSE
                );
441
  //----
442 443 444
  cb = cfg->addBool(
                 "INLINE_SIMPLE_STRUCTS",
                 "When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and\n"
445 446 447 448 449
                 "unions with only public data fields or simple typedef fields will be shown\n"
                 "inline in the documentation of the scope in which they are defined (i.e. file,\n"
                 "namespace, or group documentation), provided this scope is documented. If set\n"
                 "to NO (the default), structs, classes, and unions are shown on a separate\n"
                 "page (for HTML and Man pages) or section (for LaTeX and RTF).",
450 451 452
                 FALSE
                );
  //----
453 454
  cb = cfg->addBool(
                 "TYPEDEF_HIDES_STRUCT",
455 456 457 458 459 460
                 "When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum\n"
                 "is documented as struct, union, or enum with the name of the typedef. So\n"
                 "typedef struct TypeS {} TypeT, will appear in the documentation as a struct\n"
                 "with name TypeT. When disabled the typedef will appear as a member of a file,\n"
                 "namespace, or class. And the struct will be named TypeS. This can typically\n"
                 "be useful for C code in case the coding convention dictates that all compound\n"
461 462
                 "types are typedef'ed and only the typedef is referenced, never the tag name.",
                 FALSE
463 464
                );
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
465 466
  ci = cfg->addInt(
                 "LOOKUP_CACHE_SIZE",
467 468 469 470 471 472 473 474
                 "The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This\n"
                 "cache is used to resolve symbols given their name and scope. Since this can\n"
                 "be an expensive process and often the same symbol appear multiple times in\n"
                 "the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too\n"
                 "small doxygen will become slower. If the cache is too large, memory is wasted.\n"
                 "The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid\n"
                 "range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536\n"
                 "symbols.",
475 476 477
                 0,9,0
                );
  //---------------------------------------------------------------------------
478
  cfg->addInfo("Build","Build related configuration options");
479
  //---------------------------------------------------------------------------
480 481 482

  //----
  cb = cfg->addBool(
483
                 "EXTRACT_ALL",
484 485 486
                 "If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in\n"
                 "documentation are documented, even if no documentation was available.\n"
                 "Private class members and static file members will be hidden unless\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
487
                 "the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES",
488 489 490 491 492
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "EXTRACT_PRIVATE",
493
                 "If the EXTRACT_PRIVATE tag is set to YES all private members of a class\n"
494 495 496 497
                 "will be included in the documentation.",
                 FALSE
                );
  //----
498 499
  cb = cfg->addBool(
                 "EXTRACT_PACKAGE",
500 501
                 "If the EXTRACT_PACKAGE tag is set to YES all members with package or internal\n"
                 "scope will be included in the documentation.",
502 503 504
                 FALSE
                );
  //----
505 506
  cb = cfg->addBool(
                 "EXTRACT_STATIC",
507
                 "If the EXTRACT_STATIC tag is set to YES all static members of a file\n"
508 509 510 511 512 513
                 "will be included in the documentation.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "EXTRACT_LOCAL_CLASSES",
514 515
                 "If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)\n"
                 "defined locally in source files will be included in the documentation.\n"
516 517 518 519 520 521
                 "If set to NO only classes defined in header files are included.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "EXTRACT_LOCAL_METHODS",
522 523 524
                 "This flag is only useful for Objective-C code. When set to YES local\n"
                 "methods, which are defined in the implementation section but not in\n"
                 "the interface are included in the documentation.\n"
525 526 527 528 529 530
                 "If set to NO (the default) only methods in the interface are included.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "EXTRACT_ANON_NSPACES",
531 532 533 534
                 "If this flag is set to YES, the members of anonymous namespaces will be\n"
                 "extracted and appear in the documentation as a namespace called\n"
                 "'anonymous_namespace{file}', where file will be replaced with the base\n"
                 "name of the file that contains the anonymous namespace. By default\n"
535
                 "anonymous namespaces are hidden.",
536 537 538 539 540
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "HIDE_UNDOC_MEMBERS",
541 542 543 544
                 "If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all\n"
                 "undocumented members of documented classes, files or namespaces.\n"
                 "If set to NO (the default) these members will be included in the\n"
                 "various overviews, but no documentation section is generated.\n"
545 546 547 548 549 550
                 "This option has no effect if EXTRACT_ALL is enabled.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "HIDE_UNDOC_CLASSES",
551 552 553
                 "If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all\n"
                 "undocumented classes that are normally visible in the class hierarchy.\n"
                 "If set to NO (the default) these classes will be included in the various\n"
554 555 556 557 558 559
                 "overviews. This option has no effect if EXTRACT_ALL is enabled.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "HIDE_FRIEND_COMPOUNDS",
560 561 562
                 "If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all\n"
                 "friend (class|struct|union) declarations.\n"
                 "If set to NO (the default) these declarations will be included in the\n"
563 564 565 566 567 568
                 "documentation.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "HIDE_IN_BODY_DOCS",
569 570 571
                 "If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any\n"
                 "documentation blocks found inside the body of a function.\n"
                 "If set to NO (the default) these blocks will be appended to the\n"
572 573 574 575 576 577
                 "function's detailed documentation block.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "INTERNAL_DOCS",
578 579 580
                 "The INTERNAL_DOCS tag determines if documentation\n"
                 "that is typed after a \\internal command is included. If the tag is set\n"
                 "to NO (the default) then the documentation will be excluded.\n"
581 582 583 584 585 586
                 "Set it to YES to include the internal documentation.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "CASE_SENSE_NAMES",
587 588 589 590
                 "If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate\n"
                 "file names in lower-case letters. If set to YES upper-case letters are also\n"
                 "allowed. This is useful if you have classes or files whose names only differ\n"
                 "in case and if your file system supports case sensitive file names. Windows\n"
591 592 593
                 "and Mac users are advised to set this option to NO.",
                 portable_fileSystemIsCaseSensitive()
                );
594 595
  //----
  cb = cfg->addBool(
596
                 "HIDE_SCOPE_NAMES",
597 598
                 "If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen\n"
                 "will show members with their full class and namespace scopes in the\n"
599 600 601
                 "documentation. If set to YES the scope will be hidden.",
                 FALSE
                );
602 603
  //----
  cb = cfg->addBool(
604
                 "SHOW_INCLUDE_FILES",
605 606
                 "If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen\n"
                 "will put a list of the files that are included by a file in the documentation\n"
607 608 609 610
                 "of that file.",
                 TRUE
                );
  //----
611 612 613 614 615 616 617 618
  cb = cfg->addBool(
                 "FORCE_LOCAL_INCLUDES",
                 "If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen\n"
                 "will list include files with double quotes in the documentation\n"
                 "rather than with sharp brackets.",
                 FALSE
                );
  //----
619 620
  cb = cfg->addBool(
                 "INLINE_INFO",
621
                 "If the INLINE_INFO tag is set to YES (the default) then a tag [inline]\n"
622 623 624
                 "is inserted in the documentation for inline members.",
                 TRUE
                );
625 626
  //----
  cb = cfg->addBool(
627
                 "SORT_MEMBER_DOCS",
628 629 630
                 "If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen\n"
                 "will sort the (detailed) documentation of file and class members\n"
                 "alphabetically by member name. If set to NO the members will appear in\n"
631 632 633 634 635 636
                 "declaration order.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "SORT_BRIEF_DOCS",
637 638 639
                 "If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the\n"
                 "brief documentation of file, namespace and class members alphabetically\n"
                 "by member name. If set to NO (the default) the members will appear in\n"
640 641 642 643
                 "declaration order.",
                 FALSE
                );
  //----
644 645
  cb = cfg->addBool(
                 "SORT_MEMBERS_CTORS_1ST",
646 647 648 649 650 651 652
                 "If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen\n"
                 "will sort the (brief and detailed) documentation of class members so that\n"
                 "constructors and destructors are listed first. If set to NO (the default)\n"
                 "the constructors will appear in the respective orders defined by\n"
                 "SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.\n"
                 "This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO\n"
                 "and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.",
653 654 655
                 FALSE
                );
  //----
656 657
  cb = cfg->addBool(
                 "SORT_GROUP_NAMES",
658 659
                 "If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the\n"
                 "hierarchy of group names into alphabetical order. If set to NO (the default)\n"
660 661 662 663 664 665
                 "the group names will appear in their defined order.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "SORT_BY_SCOPE_NAME",
666 667 668 669 670 671
                 "If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be\n"
                 "sorted by fully-qualified names, including namespaces. If set to\n"
                 "NO (the default), the class list will be sorted only by class name,\n"
                 "not including the namespace part.\n"
                 "Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.\n"
                 "Note: This option applies only to the class list, not to the\n"
672 673 674 675
                 "alphabetical list.",
                 FALSE
                );
  //----
676 677
  cb = cfg->addBool(
                 "STRICT_PROTO_MATCHING",
678 679 680 681 682
                 "If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to\n"
                 "do proper type resolution of all parameters of a function it will reject a\n"
                 "match between the prototype and the implementation of a member function even\n"
                 "if there is only one candidate or it is obvious which candidate to choose\n"
                 "by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen\n"
683 684 685 686
                 "will still accept a match between prototype and implementation in such cases.",
                 FALSE
                );
  //----
687 688
  cb = cfg->addBool(
                 "GENERATE_TODOLIST",
689 690
                 "The GENERATE_TODOLIST tag can be used to enable (YES) or\n"
                 "disable (NO) the todo list. This list is created by putting \\todo\n"
691 692 693 694 695 696
                 "commands in the documentation.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "GENERATE_TESTLIST",
697 698
                 "The GENERATE_TESTLIST tag can be used to enable (YES) or\n"
                 "disable (NO) the test list. This list is created by putting \\test\n"
699 700 701 702 703 704
                 "commands in the documentation.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "GENERATE_BUGLIST",
705 706
                 "The GENERATE_BUGLIST tag can be used to enable (YES) or\n"
                 "disable (NO) the bug list. This list is created by putting \\bug\n"
707 708 709 710 711 712
                 "commands in the documentation.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "GENERATE_DEPRECATEDLIST",
713 714
                 "The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or\n"
                 "disable (NO) the deprecated list. This list is created by putting\n"
715 716 717
                 "\\deprecated commands in the documentation.",
                 TRUE
                );
718 719
  //----
  cl = cfg->addList(
720
                 "ENABLED_SECTIONS",
721
                 "The ENABLED_SECTIONS tag can be used to enable conditional\n"
722 723
                 "documentation sections, marked by \\if section-label ... \\endif\n"
                 "and \\cond section-label ... \\endcond blocks."
724
                );
725 726
  //----
  ci = cfg->addInt(
727
                 "MAX_INITIALIZER_LINES",
728
                 "The MAX_INITIALIZER_LINES tag determines the maximum number of lines\n"
729
                 "the initial value of a variable or macro consists of for it to appear in\n"
730 731
                 "the documentation. If the initializer consists of more lines than specified\n"
                 "here it will be hidden. Use a value of 0 to hide initializers completely.\n"
732
                 "The appearance of the initializer of individual variables and macros in the\n"
733
                 "documentation can be controlled using \\showinitializer or \\hideinitializer\n"
734 735 736 737
                 "command in the documentation regardless of this setting.",
                 0,10000,30
                );
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
738 739 740 741 742 743 744 745
  cb = cfg->addBool(
                 "SHOW_USED_FILES",
                 "Set the SHOW_USED_FILES tag to NO to disable the list of files generated\n"
                 "at the bottom of the documentation of classes and structs. If set to YES the\n"
                 "list will mention the files that were used to generate the documentation.",
                 TRUE
                );
  //----
746 747
  cb = cfg->addBool(
                 "SHOW_FILES",
748 749
                 "Set the SHOW_FILES tag to NO to disable the generation of the Files page.\n"
                 "This will remove the Files entry from the Quick Index and from the\n"
750 751 752 753 754 755
                 "Folder Tree View (if specified). The default is YES.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "SHOW_NAMESPACES",
756 757 758
                 "Set the SHOW_NAMESPACES tag to NO to disable the generation of the\n"
                 "Namespaces page.\n"
                 "This will remove the Namespaces entry from the Quick Index\n"
759 760 761 762 763 764
                 "and from the Folder Tree View (if specified). The default is YES.",
                 TRUE
                );
  //----
  cs = cfg->addString(
                 "FILE_VERSION_FILTER",
765 766 767 768 769 770
                 "The FILE_VERSION_FILTER tag can be used to specify a program or script that\n"
                 "doxygen should invoke to get the current version for each file (typically from\n"
                 "the version control system). Doxygen will invoke the program by executing (via\n"
                 "popen()) the command <command> <input-file>, where <command> is the value of\n"
                 "the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file\n"
                 "provided by doxygen. Whatever the program writes to standard output\n"
771 772
                 "is used as the file version. See the manual for examples."
                );
773 774
  cs->setWidgetType(ConfigString::File);
  //----
775 776
  cs = cfg->addString(
                 "LAYOUT_FILE",
777 778
                 "The LAYOUT_FILE tag can be used to specify a layout file which will be parsed\n"
                 "by doxygen. The layout file controls the global structure of the generated\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
779
                 "output files in an output format independent way. To create the layout file\n"
780 781 782
                 "that represents doxygen's defaults, run doxygen with the -l option.\n"
                 "You can optionally specify a file name after the option, if omitted\n"
                 "DoxygenLayout.xml will be used as the name of the layout file."
783 784
                );
  cs->setWidgetType(ConfigString::File);
785 786 787 788 789 790 791 792
  //----
  cl = cfg->addList(
                 "CITE_BIB_FILES",
                 "The CITE_BIB_FILES tag can be used to specify one or more bib files\n"
                 "containing the references data. This must be a list of .bib files. The\n"
                 ".bib extension is automatically appended if omitted. Using this command\n"
                 "requires the bibtex tool to be installed. See also\n"
                 "http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
793
                 "of the bibliography can be controlled using LATEX_BIB_STYLE. To use this\n"
794 795
                 "feature you need bibtex and perl available in the search path. Do not use\n"
                 "file names with spaces, bibtex cannot handle them."
796 797
                );
  cl->setWidgetType(ConfigList::File);
798 799 800
  //---------------------------------------------------------------------------
  cfg->addInfo("Messages","configuration options related to warning and progress messages");
  //---------------------------------------------------------------------------
801

802 803 804
  //----
  cb = cfg->addBool(
                 "QUIET",
805
                 "The QUIET tag can be used to turn on/off the messages that are generated\n"
806 807 808 809
                 "by doxygen. Possible values are YES and NO. If left blank NO is used.",
                 FALSE
                );
  //----
810
  cb = cfg->addBool(
811
                 "WARNINGS",
812 813
                 "The WARNINGS tag can be used to turn on/off the warning messages that are\n"
                 "generated by doxygen. Possible values are YES and NO. If left blank\n"
814 815 816 817 818 819
                 "NO is used.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "WARN_IF_UNDOCUMENTED",
820 821
                 "If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings\n"
                 "for undocumented members. If EXTRACT_ALL is set to YES then this flag will\n"
822 823 824 825 826 827
                 "automatically be disabled.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "WARN_IF_DOC_ERROR",
828 829 830
                 "If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for\n"
                 "potential errors in the documentation, such as not documenting some\n"
                 "parameters in a documented function, or documenting parameters that\n"
831 832 833 834 835 836
                 "don't exist or using markup commands wrongly.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "WARN_NO_PARAMDOC",
837
                 "The WARN_NO_PARAMDOC option can be enabled to get warnings for\n"
838 839 840
                 "functions that are documented, but have no documentation for their parameters\n"
                 "or return value. If set to NO (the default) doxygen will only warn about\n"
                 "wrong or incomplete parameter documentation, but not about the absence of\n"
841 842 843
                 "documentation.",
                 FALSE
                );
844 845
  //----
  cs = cfg->addString(
846
                 "WARN_FORMAT",
847 848 849 850 851
                 "The WARN_FORMAT tag determines the format of the warning messages that\n"
                 "doxygen can produce. The string should contain the $file, $line, and $text\n"
                 "tags, which will be replaced by the file and line number from which the\n"
                 "warning originated and the warning text. Optionally the format may contain\n"
                 "$version, which will be replaced by the version of the file (if it could\n"
852 853
                 "be obtained via FILE_VERSION_FILTER)"
                );
854 855 856
  cs->setDefaultValue("$file:$line: $text");
  //----
  cs = cfg->addString(
857
                 "WARN_LOGFILE",
858 859
                 "The WARN_LOGFILE tag can be used to specify a file to which warning\n"
                 "and error messages should be written. If left blank the output is written\n"
860 861
                 "to stderr."
                );
862
  cs->setWidgetType(ConfigString::File);
863 864 865 866 867
  //---------------------------------------------------------------------------
  cfg->addInfo("Input","configuration options related to the input files");
  //---------------------------------------------------------------------------

  //----
868
  cl = cfg->addList(
869
                 "INPUT",
870 871 872
                 "The INPUT tag can be used to specify the files and/or directories that contain\n"
                 "documented source files. You may enter file names like \"myfile.cpp\" or\n"
                 "directories like \"/usr/src/myproject\". Separate the files or directories\n"
873 874
                 "with spaces."
                );
875
  cl->addValue("");
876 877
  cl->setWidgetType(ConfigList::FileAndDir);
  //----
878 879
  cs = cfg->addString(
                 "INPUT_ENCODING",
880 881 882 883
                 "This tag can be used to specify the character encoding of the source files\n"
                 "that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is\n"
                 "also the default input encoding. Doxygen uses libiconv (or the iconv built\n"
                 "into libc) for the transcoding. See http://www.gnu.org/software/libiconv for\n"
884
                 "the list of possible encodings."
885 886 887 888
                );
  cs->setDefaultValue("UTF-8");
  //----
  cl = cfg->addList(
889
                 "FILE_PATTERNS",
890 891 892 893
                 "If the value of the INPUT tag contains directories, you can use the\n"
                 "FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp\n"
                 "and *.h) to filter out the source-files in the directories. If left\n"
                 "blank the following patterns are tested:\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
894 895
                 "*.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh\n"
                 "*.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py\n"
896
                 "*.f90 *.f *.for *.vhd *.vhdl"
897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921
                );
  cl->addValue("*.c");
  cl->addValue("*.cc");
  cl->addValue("*.cxx");
  cl->addValue("*.cpp");
  cl->addValue("*.c++");
  cl->addValue("*.d");
  cl->addValue("*.java");
  cl->addValue("*.ii");
  cl->addValue("*.ixx");
  cl->addValue("*.ipp");
  cl->addValue("*.i++");
  cl->addValue("*.inl");
  cl->addValue("*.h");
  cl->addValue("*.hh");
  cl->addValue("*.hxx");
  cl->addValue("*.hpp");
  cl->addValue("*.h++");
  cl->addValue("*.idl");
  cl->addValue("*.odl");
  cl->addValue("*.cs");
  cl->addValue("*.php");
  cl->addValue("*.php3");
  cl->addValue("*.inc");
  cl->addValue("*.m");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
922 923
  cl->addValue("*.markdown");
  cl->addValue("*.md");
924 925 926 927 928
  cl->addValue("*.mm");
  cl->addValue("*.dox");
  cl->addValue("*.py");
  cl->addValue("*.f90");
  cl->addValue("*.f");
929
  cl->addValue("*.for");
930 931 932 933 934
  cl->addValue("*.vhd");
  cl->addValue("*.vhdl");
  //----
  cb = cfg->addBool(
                 "RECURSIVE",
935 936
                 "The RECURSIVE tag can be used to turn specify whether or not subdirectories\n"
                 "should be searched for input files as well. Possible values are YES and NO.\n"
937 938 939
                 "If left blank NO is used.",
                 FALSE
                );
940 941
  //----
  cl = cfg->addList(
942
                 "EXCLUDE",
Dimitri van Heesch's avatar
Dimitri van Heesch committed
943
                 "The EXCLUDE tag can be used to specify files and/or directories that should be\n"
944
                 "excluded from the INPUT source files. This way you can easily exclude a\n"
945
                 "subdirectory from a directory tree whose root is specified with the INPUT tag.\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
946 947
                 "Note that relative paths are relative to the directory from which doxygen is\n"
                 "run."
948
                );
949 950
  cl->setWidgetType(ConfigList::FileAndDir);
  //----
951 952
  cb = cfg->addBool(
                 "EXCLUDE_SYMLINKS",
Dimitri van Heesch's avatar
Dimitri van Heesch committed
953
                 "The EXCLUDE_SYMLINKS tag can be used to select whether or not files or\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
954
                 "directories that are symbolic links (a Unix file system feature) are excluded\n"
955 956 957 958
                 "from the input.",
                 FALSE
                );
  //----
959
  cl = cfg->addList(
960
                 "EXCLUDE_PATTERNS",
961 962 963 964
                 "If the value of the INPUT tag contains directories, you can use the\n"
                 "EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude\n"
                 "certain files from those directories. Note that the wildcards are matched\n"
                 "against the file with absolute path, so to exclude all test directories\n"
965 966
                 "for example use the pattern */test/*"
                );
967 968
  //----
  cl = cfg->addList(
969
                 "EXCLUDE_SYMBOLS",
970 971 972 973
                 "The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names\n"
                 "(namespaces, classes, functions, etc.) that should be excluded from the\n"
                 "output. The symbol name can be a fully qualified name, a word, or if the\n"
                 "wildcard * is used, a substring. Examples: ANamespace, AClass,\n"
974 975
                 "AClass::ANamespace, ANamespace::*Test"
                );
976 977
  //----
  cl = cfg->addList(
978
                 "EXAMPLE_PATH",
979 980
                 "The EXAMPLE_PATH tag can be used to specify one or more files or\n"
                 "directories that contain example code fragments that are included (see\n"
981 982
                 "the \\include command)."
                );
983 984 985
  cl->setWidgetType(ConfigList::Dir);
  //----
  cl = cfg->addList(
986
                 "EXAMPLE_PATTERNS",
987 988 989
                 "If the value of the EXAMPLE_PATH tag contains directories, you can use the\n"
                 "EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp\n"
                 "and *.h) to filter out the source-files in the directories. If left\n"
990 991 992 993 994 995
                 "blank all files are included."
                );
  cl->addValue("*");
  //----
  cb = cfg->addBool(
                 "EXAMPLE_RECURSIVE",
996 997 998
                 "If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be\n"
                 "searched for input files to be used with the \\include or \\dontinclude\n"
                 "commands irrespective of the value of the RECURSIVE tag.\n"
999 1000 1001
                 "Possible values are YES and NO. If left blank NO is used.",
                 FALSE
                );
1002 1003
  //----
  cl = cfg->addList(
1004
                 "IMAGE_PATH",
1005 1006
                 "The IMAGE_PATH tag can be used to specify one or more files or\n"
                 "directories that contain image that are included in the documentation (see\n"
1007 1008
                 "the \\image command)."
                );
1009 1010 1011
  cl->setWidgetType(ConfigList::Dir);
  //----
  cs = cfg->addString(
1012
                 "INPUT_FILTER",
1013 1014 1015 1016 1017 1018
                 "The INPUT_FILTER tag can be used to specify a program that doxygen should\n"
                 "invoke to filter for each input file. Doxygen will invoke the filter program\n"
                 "by executing (via popen()) the command <filter> <input-file>, where <filter>\n"
                 "is the value of the INPUT_FILTER tag, and <input-file> is the name of an\n"
                 "input file. Doxygen will then use the output that the filter program writes\n"
                 "to standard output.\n"
1019 1020 1021 1022
                 "If FILTER_PATTERNS is specified, this tag will be ignored.\n"
                 "Note that the filter must not add or remove lines; it is applied before the\n"
                 "code is scanned, but not when the output code is generated. If lines are added\n"
                 "or removed, the anchors will not be placed correctly."
1023
                );
1024 1025 1026
  cs->setWidgetType(ConfigString::File);
  //----
  cl = cfg->addList(
1027
                 "FILTER_PATTERNS",
1028 1029 1030 1031 1032 1033
                 "The FILTER_PATTERNS tag can be used to specify filters on a per file pattern\n"
                 "basis.\n"
                 "Doxygen will compare the file name with each pattern and apply the\n"
                 "filter if there is a match.\n"
                 "The filters are a list of the form:\n"
                 "pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further\n"
1034 1035
                 "info on how filters are used. If FILTER_PATTERNS is empty or if\n"
                 "non of the patterns match the file name, INPUT_FILTER is applied."
1036
                );
1037 1038
  //----
  cb = cfg->addBool(
1039
                 "FILTER_SOURCE_FILES",
1040 1041
                 "If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using\n"
                 "INPUT_FILTER) will be used to filter the input files when producing source\n"
1042 1043 1044
                 "files to browse (i.e. when SOURCE_BROWSER is set to YES).",
                 FALSE
                );
1045 1046 1047 1048 1049 1050 1051 1052 1053 1054
  //----
  cl = cfg->addList(
                 "FILTER_SOURCE_PATTERNS",
                 "The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file\n"
                 "pattern. A pattern will override the setting for FILTER_PATTERN (if any)\n"
                 "and it is also possible to disable source filtering for a specific pattern\n"
                 "using *.ext= (so without naming a filter). This option only has effect when\n"
                 "FILTER_SOURCE_FILES is enabled."
                );
  cl->addDependency("FILTER_SOURCE_FILES");
1055 1056 1057 1058
  //----
  cs = cfg->addString(
                 "USE_MDFILE_AS_MAINPAGE",
                 "If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that\n"
1059 1060 1061
                 "is part of the input, its contents will be placed on the main page\n"
                 "(index.html). This can be useful if you have a project on for instance GitHub\n"
                 "and want reuse the introduction page also for the doxygen output."
1062
                );
1063 1064 1065 1066 1067 1068 1069
  //---------------------------------------------------------------------------
  cfg->addInfo("Source Browser","configuration options related to source browsing");
  //---------------------------------------------------------------------------

  //----
  cb = cfg->addBool(
                 "SOURCE_BROWSER",
1070 1071 1072
                 "If the SOURCE_BROWSER tag is set to YES then a list of source files will\n"
                 "be generated. Documented entities will be cross-referenced with these sources.\n"
                 "Note: To get rid of all source code in the generated output, make sure also\n"
1073 1074 1075 1076 1077 1078
                 "VERBATIM_HEADERS is set to NO.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "INLINE_SOURCES",
1079
                 "Setting the INLINE_SOURCES tag to YES will include the body\n"
1080 1081 1082 1083 1084 1085
                 "of functions and classes directly in the documentation.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "STRIP_CODE_COMMENTS",
1086 1087
                 "Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct\n"
                 "doxygen to hide any special comment blocks from generated source code\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1088
                 "fragments. Normal C, C++ and Fortran comments will always remain visible.",
1089 1090 1091 1092 1093
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "REFERENCED_BY_RELATION",
1094 1095
                 "If the REFERENCED_BY_RELATION tag is set to YES\n"
                 "then for each documented function all documented\n"
1096 1097 1098 1099 1100 1101
                 "functions referencing it will be listed.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "REFERENCES_RELATION",
1102 1103
                 "If the REFERENCES_RELATION tag is set to YES\n"
                 "then for each documented function all documented entities\n"
1104 1105 1106 1107 1108 1109
                 "called/used by that function will be listed.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "REFERENCES_LINK_SOURCE",
1110 1111 1112 1113
                 "If the REFERENCES_LINK_SOURCE tag is set to YES (the default)\n"
                 "and SOURCE_BROWSER tag is set to YES, then the hyperlinks from\n"
                 "functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will\n"
                 "link to the source code.\n"
1114 1115 1116 1117 1118 1119
                 "Otherwise they will link to the documentation.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "USE_HTAGS",
1120 1121 1122 1123
                 "If the USE_HTAGS tag is set to YES then the references to source code\n"
                 "will point to the HTML generated by the htags(1) tool instead of doxygen\n"
                 "built-in source browser. The htags tool is part of GNU's global source\n"
                 "tagging system (see http://www.gnu.org/software/global/global.html). You\n"
1124 1125 1126
                 "will need version 4.8.6 or higher.",
                 FALSE
                );
1127 1128 1129
  cb->addDependency("SOURCE_BROWSER");
  //----
  cb = cfg->addBool(
1130
                 "VERBATIM_HEADERS",
1131 1132
                 "If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen\n"
                 "will generate a verbatim copy of the header file for each class for\n"
1133 1134 1135
                 "which an include is specified. Set to NO to disable this.",
                 TRUE
                );
1136 1137 1138 1139 1140
#if USE_LIBCLANG
  //----
  cb = cfg->addBool(
                 "CLANG_ASSISTED_PARSING",
                 "If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1141 1142
                 "for more acurate parsing at the cost of reduced performance. This can be\n"
                 "particularly helpful with template rich C++ code for which doxygen's built-in\n"
1143 1144 1145
                 "parser lacks the necessairy type information.",
                 FALSE
                );
1146 1147
#else
  cfg->addDisabled("CLANG_ASSISTED_PARSING");
1148
#endif
1149
#if USE_LIBCLANG
1150
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1151
  cl = cfg->addList(
1152 1153 1154
                 "CLANG_OPTIONS",
                 "If clang assisted parsing is enabled you can provide the compiler with command\n"
                 "line options that you would normally use when invoking the compiler. Note that\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1155
                 "the include paths will already be set by doxygen for the files and directories\n"
1156 1157
                 "specified at INPUT and INCLUDE_PATH."
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1158
  cl->addDependency("CLANG_ASSISTED_PARSING");
1159 1160
#else
  cfg->addDisabled("CLANG_OPTIONS");
1161
#endif
1162 1163 1164 1165 1166 1167 1168
  //---------------------------------------------------------------------------
  cfg->addInfo("Index","configuration options related to the alphabetical class index");
  //---------------------------------------------------------------------------

  //----
  cb = cfg->addBool(
                 "ALPHABETICAL_INDEX",
1169 1170
                 "If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index\n"
                 "of all compounds will be generated. Enable this if the project\n"
1171
                 "contains a lot of classes, structs, unions or interfaces.",
1172
                 TRUE
1173
                );
1174 1175
  //----
  ci = cfg->addInt(
1176
                 "COLS_IN_ALPHA_INDEX",
1177 1178
                 "If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then\n"
                 "the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns\n"
1179 1180
                 "in which this list will be split (can be a number in the range [1..20])",
                 1,20,5
1181
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1182
  ci->addDependency("ALPHABETICAL_INDEX");
1183 1184
  //----
  cl = cfg->addList(
1185
                 "IGNORE_PREFIX",
1186 1187 1188
                 "In case all classes in a project start with a common prefix, all\n"
                 "classes will be put under the same header in the alphabetical index.\n"
                 "The IGNORE_PREFIX tag can be used to specify one or more prefixes that\n"
1189 1190
                 "should be ignored while generating the index headers."
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1191
  cl->addDependency("ALPHABETICAL_INDEX");
1192 1193 1194 1195 1196 1197 1198
  //---------------------------------------------------------------------------
  cfg->addInfo("HTML","configuration options related to the HTML output");
  //---------------------------------------------------------------------------

  //----
  cb = cfg->addBool(
                 "GENERATE_HTML",
1199
                 "If the GENERATE_HTML tag is set to YES (the default) Doxygen will\n"
1200 1201 1202
                 "generate HTML output.",
                 TRUE
                );
1203 1204
  //----
  cs = cfg->addString(
1205
                 "HTML_OUTPUT",
1206 1207
                 "The HTML_OUTPUT tag is used to specify where the HTML docs will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"
1208 1209
                 "put in front of it. If left blank `html' will be used as the default path."
                );
1210 1211 1212 1213 1214
  cs->setDefaultValue("html");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1215
                 "HTML_FILE_EXTENSION",
1216 1217
                 "The HTML_FILE_EXTENSION tag can be used to specify the file extension for\n"
                 "each generated HTML page (for example: .htm,.php,.asp). If it is left blank\n"
1218 1219
                 "doxygen will generate files with .html extension."
                );
1220 1221 1222 1223
  cs->setDefaultValue(".html");
  cs->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1224
                 "HTML_HEADER",
1225 1226
                 "The HTML_HEADER tag can be used to specify a personal HTML header for\n"
                 "each generated HTML page. If it is left blank doxygen will generate a\n"
1227
                 "standard header. Note that when using a custom header you are responsible\n"
1228
                 " for the proper inclusion of any scripts and style sheets that doxygen\n"
1229
                 "needs, which is dependent on the configuration options used.\n"
1230
                 "It is advised to generate a default header using \"doxygen -w html\n"
1231 1232
                 "header.html footer.html stylesheet.css YourConfigFile\" and then modify\n"
                 "that header. Note that the header is subject to change so you typically\n"
1233 1234
                 "have to redo this when upgrading to a newer version of doxygen or when\n"
                 "changing the value of configuration settings such as GENERATE_TREEVIEW!"
1235
                );
1236 1237 1238 1239
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1240
                 "HTML_FOOTER",
1241 1242
                 "The HTML_FOOTER tag can be used to specify a personal HTML footer for\n"
                 "each generated HTML page. If it is left blank doxygen will generate a\n"
1243 1244
                 "standard footer."
                );
1245 1246 1247 1248
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1249
                 "HTML_STYLESHEET",
1250 1251
                 "The HTML_STYLESHEET tag can be used to specify a user-defined cascading\n"
                 "style sheet that is used by each HTML page. It can be used to\n"
1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268
                 "fine-tune the look of the HTML output. If left blank doxygen will\n"
                 "generate a default style sheet. Note that it is recommended to use\n"
                 "HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this\n"
                 "tag will in the future become obsolete."
                );
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
                 "HTML_EXTRA_STYLESHEET",
                 "The HTML_EXTRA_STYLESHEET tag can be used to specify an additional\n"
                 "user-defined cascading style sheet that is included after the standard\n"
                 "style sheets created by doxygen. Using this option one can overrule\n"
                 "certain style aspects. This is preferred over using HTML_STYLESHEET\n"
                 "since it does not replace the standard style sheet and is therefor more\n"
                 "robust against future updates. Doxygen will copy the style sheet file to\n"
                 "the output directory."
1269
                );
1270 1271 1272
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_HTML");
  //----
1273 1274 1275 1276 1277
  cl = cfg->addList(
                 "HTML_EXTRA_FILES",
                 "The HTML_EXTRA_FILES tag can be used to specify one or more extra images or\n"
                 "other source files which should be copied to the HTML output directory. Note\n"
                 "that these files will be copied to the base HTML output directory. Use the\n"
1278
                 "$relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these\n"
1279 1280 1281 1282 1283 1284
                 "files. In the HTML_STYLESHEET file, use the file name only. Also note that\n"
                 "the files will be copied as-is; there are no commands or markers available."
                );
  cl->addDependency("GENERATE_HTML");
  cl->setWidgetType(ConfigList::File);
  //----
1285 1286 1287
  ci = cfg->addInt(
                 "HTML_COLORSTYLE_HUE",
                 "The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.\n"
1288
                 "Doxygen will adjust the colors in the style sheet and background images\n"
1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316
                 "according to this color. Hue is specified as an angle on a colorwheel,\n"
                 "see http://en.wikipedia.org/wiki/Hue for more information.\n"
                 "For instance the value 0 represents red, 60 is yellow, 120 is green,\n"
                 "180 is cyan, 240 is blue, 300 purple, and 360 is red again.\n"
                 "The allowed range is 0 to 359.",
                 0,359,220
                );
  ci->addDependency("GENERATE_HTML");
  //----
  ci = cfg->addInt(
                 "HTML_COLORSTYLE_SAT",
                 "The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of\n"
                 "the colors in the HTML output. For a value of 0 the output will use\n"
                 "grayscales only. A value of 255 will produce the most vivid colors.",
                 0,255,100
                );
  ci->addDependency("GENERATE_HTML");
  //----
  ci = cfg->addInt(
                 "HTML_COLORSTYLE_GAMMA",
                 "The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to\n"
                 "the luminance component of the colors in the HTML output. Values below\n"
                 "100 gradually make the output lighter, whereas values above 100 make\n"
                 "the output darker. The value divided by 100 is the actual gamma applied,\n"
                 "so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,\n"
                 "and 100 does not change the gamma.",
                 40,240,80
                );
1317
  ci->addDependency("GENERATE_HTML");
1318
  //----
1319 1320 1321 1322 1323
  cb = cfg->addBool(
                 "HTML_TIMESTAMP",
                 "If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML\n"
                 "page will contain the date and time when the page was generated. Setting\n"
                 "this to NO can help when comparing the output of multiple runs.",
1324
                 TRUE
1325 1326 1327
                );
  cb->addDependency("GENERATE_HTML");
  //----
1328
  cb = cfg->addBool(
1329
                 "HTML_DYNAMIC_SECTIONS",
1330 1331
                 "If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML\n"
                 "documentation will contain sections that can be hidden and shown after the\n"
1332
                 "page has loaded.",
1333 1334
                 FALSE
                );
1335
  cb->addDependency("GENERATE_HTML");
1336
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348
  ci = cfg->addInt(
                 "HTML_INDEX_NUM_ENTRIES",
                 "With HTML_INDEX_NUM_ENTRIES one can control the preferred number of\n"
                 "entries shown in the various tree structured indices initially; the user\n"
                 "can expand and collapse entries dynamically later on. Doxygen will expand\n"
                 "the tree to such a level that at most the specified number of entries are\n"
                 "visible (unless a fully collapsed tree already exceeds this amount).\n"
                 "So setting the number of entries 1 will produce a full collapsed tree by\n"
                 "default. 0 is a special value representing an infinite number of entries\n"
                 "and will result in a full expanded tree by default.",
                 0,9999,100
                );
1349
  ci->addDependency("GENERATE_HTML");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1350
  //----
1351 1352
  cb = cfg->addBool(
                 "GENERATE_DOCSET",
1353 1354 1355 1356 1357 1358 1359 1360
                 "If the GENERATE_DOCSET tag is set to YES, additional index files\n"
                 "will be generated that can be used as input for Apple's Xcode 3\n"
                 "integrated development environment, introduced with OSX 10.5 (Leopard).\n"
                 "To create a documentation set, doxygen will generate a Makefile in the\n"
                 "HTML output directory. Running make will produce the docset in that\n"
                 "directory and running \"make install\" will install the docset in\n"
                 "~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find\n"
                 "it at startup.\n"
1361 1362
                 "See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html\n"
                 "for more information.",
1363 1364
                 FALSE
                );
1365 1366 1367
  cb->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1368
                 "DOCSET_FEEDNAME",
1369 1370 1371
                 "When GENERATE_DOCSET tag is set to YES, this tag determines the name of the\n"
                 "feed. A documentation feed provides an umbrella under which multiple\n"
                 "documentation sets from a single provider (such as a company or product suite)\n"
1372
                 "can be grouped."
1373 1374 1375 1376 1377
                );
  cs->setDefaultValue("Doxygen generated docs");
  cs->addDependency("GENERATE_DOCSET");
  //----
  cs = cfg->addString(
1378
                 "DOCSET_BUNDLE_ID",
1379 1380 1381
                 "When GENERATE_DOCSET tag is set to YES, this tag specifies a string that\n"
                 "should uniquely identify the documentation set bundle. This should be a\n"
                 "reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen\n"
1382 1383
                 "will append .docset to the name."
                );
1384 1385
  cs->setDefaultValue("org.doxygen.Project");
  cs->addDependency("GENERATE_DOCSET");
1386
  //----
1387 1388
  cs = cfg->addString(
                 "DOCSET_PUBLISHER_ID",
1389 1390 1391
                 "When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely\n"
                 "identify the documentation publisher. This should be a reverse domain-name\n"
                 "style string, e.g. com.mycompany.MyDocSet.documentation."
1392 1393 1394 1395 1396 1397
                );
  cs->setDefaultValue("org.doxygen.Publisher");
  cs->addDependency("GENERATE_DOCSET");
  //----
  cs = cfg->addString(
                 "DOCSET_PUBLISHER_NAME",
1398
                 "The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher."
1399 1400 1401 1402
                );
  cs->setDefaultValue("Publisher");
  cs->addDependency("GENERATE_DOCSET");
  //----
1403
  cb = cfg->addBool(
1404
                 "GENERATE_HTMLHELP",
1405 1406 1407
                 "If the GENERATE_HTMLHELP tag is set to YES, additional index files\n"
                 "will be generated that can be used as input for tools like the\n"
                 "Microsoft HTML help workshop to generate a compiled HTML help file (.chm)\n"
1408 1409 1410
                 "of the generated HTML documentation.",
                 FALSE
                );
1411 1412 1413
  cb->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1414
                 "CHM_FILE",
1415 1416 1417
                 "If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can\n"
                 "be used to specify the file name of the resulting .chm file. You\n"
                 "can add a path in front of the file if the result should not be\n"
1418 1419
                 "written to the html output directory."
                );
1420
  cs->setWidgetType(ConfigString::File);
1421
  cs->addDependency("GENERATE_HTMLHELP");
1422 1423
  //----
  cs = cfg->addString(
1424
                 "HHC_LOCATION",
1425 1426 1427
                 "If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can\n"
                 "be used to specify the location (absolute path including file name) of\n"
                 "the HTML help compiler (hhc.exe). If non-empty doxygen will try to run\n"
1428 1429
                 "the HTML help compiler on the generated index.hhp."
                );
1430
  cs->setWidgetType(ConfigString::File);
1431
  cs->addDependency("GENERATE_HTMLHELP");
1432 1433
  //----
  cb = cfg->addBool(
1434
                 "GENERATE_CHI",
1435 1436
                 "If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag\n"
                 "controls if a separate .chi index file is generated (YES) or that\n"
1437 1438 1439 1440
                 "it should be included in the master .chm file (NO).",
                 FALSE
                );
  cb->addDependency("GENERATE_HTMLHELP");
1441 1442
  //----
  cs = cfg->addString(
1443
                 "CHM_INDEX_ENCODING",
1444 1445
                 "If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING\n"
                 "is used to encode HtmlHelp index (hhk), content (hhc) and project file\n"
1446 1447 1448
                 "content."
                );
  cs->addDependency("GENERATE_HTMLHELP");
1449 1450
  //----
  cb = cfg->addBool(
1451
                 "BINARY_TOC",
1452 1453
                 "If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag\n"
                 "controls whether a binary table of contents is generated (YES) or a\n"
1454 1455 1456 1457
                 "normal table of contents (NO) in the .chm file.",
                 FALSE
                );
  cb->addDependency("GENERATE_HTMLHELP");
1458 1459
  //----
  cb = cfg->addBool(
1460
                 "TOC_EXPAND",
1461
                 "The TOC_EXPAND flag can be set to YES to add extra items for group members\n"
1462 1463 1464 1465 1466
                 "to the contents of the HTML help documentation and to the tree view.",
                 FALSE
                );
  cb->addDependency("GENERATE_HTMLHELP");
  //----
1467
  cb = cfg->addBool(
1468
                 "GENERATE_QHP",
1469 1470 1471 1472
                 "If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and\n"
                 "QHP_VIRTUAL_FOLDER are set, an additional index file will be generated\n"
                 "that can be used as input for Qt's qhelpgenerator to generate a\n"
                 "Qt Compressed Help (.qch) of the generated HTML documentation.",
1473 1474
                 FALSE
                );
1475 1476 1477
  cb->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
1478
                 "QCH_FILE",
1479 1480
                 "If the QHG_LOCATION tag is specified, the QCH_FILE tag can\n"
                 "be used to specify the file name of the resulting .qch file.\n"
1481 1482
                 "The path specified is relative to the HTML output folder."
                );
1483 1484 1485 1486
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1487
                 "QHP_NAMESPACE",
1488 1489
                 "The QHP_NAMESPACE tag specifies the namespace to use when generating\n"
                 "Qt Help Project output. For more information please see\n"
1490 1491
                 "http://doc.trolltech.com/qthelpproject.html#namespace"
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1492
  cs->setDefaultValue("org.doxygen.Project");
1493 1494 1495
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1496
                 "QHP_VIRTUAL_FOLDER",
1497 1498
                 "The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating\n"
                 "Qt Help Project output. For more information please see\n"
1499 1500
                 "http://doc.trolltech.com/qthelpproject.html#virtual-folders"
                );
1501 1502 1503 1504
  cs->setDefaultValue("doc");
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1505
                 "QHP_CUST_FILTER_NAME",
1506 1507
                 "If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to\n"
                 "add. For more information please see\n"
1508 1509
                 "http://doc.trolltech.com/qthelpproject.html#custom-filters"
                );
1510 1511 1512
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1513
                 "QHP_CUST_FILTER_ATTRS",
1514 1515 1516 1517
                 "The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the\n"
                 "custom filter to add. For more information please see\n"
                 "<a href=\"http://doc.trolltech.com/qthelpproject.html#custom-filters\">\n"
                 "Qt Help Project / Custom Filters</a>."
1518
                );
1519 1520 1521
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1522
                 "QHP_SECT_FILTER_ATTRS",
1523 1524
                 "The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this\n"
                 "project's\n"
1525
                 "filter section matches.\n"
1526 1527
                 "<a href=\"http://doc.trolltech.com/qthelpproject.html#filter-attributes\">\n"
                 "Qt Help Project / Filter Attributes</a>."
1528
                );
1529 1530 1531
  cs->addDependency("GENERATE_QHP");
  //----
  cs = cfg->addString(
1532
                 "QHG_LOCATION",
1533 1534 1535
                 "If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can\n"
                 "be used to specify the location of Qt's qhelpgenerator.\n"
                 "If non-empty doxygen will try to run qhelpgenerator on the generated\n"
1536 1537
                 ".qhp file."
                );
1538 1539
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_QHP");
1540
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1541 1542 1543 1544
  cb = cfg->addBool(
                 "GENERATE_ECLIPSEHELP",
                 "If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files\n"
                 " will be generated, which together with the HTML files, form an Eclipse help\n"
1545
                 "plugin. To install this plugin and make it available under the help contents\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1546 1547 1548
                 "menu in Eclipse, the contents of the directory containing the HTML and XML\n"
                 "files needs to be copied into the plugins directory of eclipse. The name of\n"
                 "the directory within the plugins directory should be the same as\n"
1549 1550
                 "the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before\n"
                 "the help appears.",
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563
                 FALSE
                );
  cb->addDependency("GENERATE_HTML");
  //----
  cs = cfg->addString(
                 "ECLIPSE_DOC_ID",
                 "A unique identifier for the eclipse help plugin. When installing the plugin\n"
                 "the directory name containing the HTML and XML files should also have\n"
                 "this name."
                );
  cs->setDefaultValue("org.doxygen.Project");
  cs->addDependency("GENERATE_ECLIPSEHELP");
  //----
1564
  cb = cfg->addBool(
1565
                 "DISABLE_INDEX",
1566 1567 1568 1569 1570
                 "The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)\n"
                 "at top of each HTML page. The value NO (the default) enables the index and\n"
                 "the value YES disables it. Since the tabs have the same information as the\n"
                 "navigation tree you can set this option to NO if you already set\n"
                 "GENERATE_TREEVIEW to YES.",
1571 1572
                 FALSE
                );
1573 1574
  cb->addDependency("GENERATE_HTML");
  //----
1575
  cb = cfg->addBool(
1576
                 "GENERATE_TREEVIEW",
1577 1578
                 "The GENERATE_TREEVIEW tag is used to specify whether a tree-like index\n"
                 "structure should be generated to display hierarchical information.\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1579
                 "If the tag value is set to YES, a side panel will be generated\n"
1580 1581 1582
                 "containing a tree-like index structure (just like the one that\n"
                 "is generated for HTML Help). For this to work a browser that supports\n"
                 "JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).\n"
1583 1584 1585
                 "Windows users are probably better off using the HTML help feature.\n"
                 "Since the tree basically has the same information as the tab index you\n"
                 "could consider to set DISABLE_INDEX to NO when enabling this option.",
1586 1587 1588 1589
                 FALSE
                );
  cb->addDependency("GENERATE_HTML");
  //----
1590 1591 1592 1593 1594 1595 1596 1597 1598 1599
  ci = cfg->addInt(
                 "ENUM_VALUES_PER_LINE",
                 "The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values\n"
                 "(range [0,1..20]) that doxygen will group on one line in the generated HTML\n"
                 "documentation. Note that a value of 0 will completely suppress the enum\n"
                 "values from appearing in the overview section.",
                 0,20,4
                );
  ci->addDependency("GENERATE_HTML");
  //----
1600
  ci = cfg->addInt(
1601
                 "TREEVIEW_WIDTH",
1602 1603
                 "If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be\n"
                 "used to set the initial width (in pixels) of the frame in which the tree\n"
1604 1605 1606
                 "is shown.",
                 0,1500,250
                );
1607 1608
  ci->addDependency("GENERATE_HTML");
  //----
1609 1610 1611 1612 1613 1614 1615 1616
  cb = cfg->addBool(
                 "EXT_LINKS_IN_WINDOW",
                 "When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open\n"
                 "links to external symbols imported via tag files in a separate window.",
                 FALSE
                );
  cb->addDependency("GENERATE_HTML");
  //----
1617
  ci = cfg->addInt(
1618
                 "FORMULA_FONTSIZE",
1619 1620 1621 1622
                 "Use this tag to change the font size of Latex formulas included\n"
                 "as images in the HTML documentation. The default is 10. Note that\n"
                 "when you change the font size after a successful doxygen run you need\n"
                 "to manually remove any form_*.png images from the HTML output directory\n"
1623 1624 1625
                 "to force them to be regenerated.",
                 8,50,10
                );
1626
  ci->addDependency("GENERATE_HTML");
1627
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638
  cb = cfg->addBool(
                 "FORMULA_TRANSPARENT",
                 "Use the FORMULA_TRANPARENT tag to determine whether or not the images\n"
                 "generated for formulas are transparent PNGs. Transparent PNGs are\n"
                 "not supported properly for IE 6.0, but are supported on all modern browsers.\n"
                 "Note that when changing this option you need to delete any form_*.png files\n"
                 "in the HTML output before the changes have effect.",
                 TRUE
                );
  cb->addDependency("GENERATE_HTML");
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1639 1640 1641 1642 1643 1644
  cb = cfg->addBool(
                 "USE_MATHJAX",
                 "Enable the USE_MATHJAX option to render LaTeX formulas using MathJax\n"
                 "(see http://www.mathjax.org) which uses client side Javascript for the\n"
                 "rendering instead of using prerendered bitmaps. Use this if you do not\n"
                 "have LaTeX installed or if you want to formulas look prettier in the HTML\n"
1645
                 "output. When enabled you may also need to install MathJax separately and\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1646 1647 1648
                 "configure the path to it using the MATHJAX_RELPATH option.",
                 FALSE
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1649
  cb->addDependency("GENERATE_HTML");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1650
  //----
1651 1652 1653
  ce = cfg->addEnum(
                 "MATHJAX_FORMAT",
                 "When MathJax is enabled you can set the default output format to be used for\n"
1654
                 "the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and\n"
1655 1656 1657 1658 1659 1660 1661
                 "SVG. The default value is HTML-CSS, which is slower, but has the best\n"
                 "compatibility.",
                 "HTML-CSS"
                );
  ce->addValue("HTML-CSS");
  ce->addValue("NativeMML");
  ce->addValue("SVG");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1662
  ce->addDependency("USE_MATHJAX");
1663
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1664 1665 1666 1667 1668 1669
  cs = cfg->addString(
                 "MATHJAX_RELPATH",
                 "When MathJax is enabled you need to specify the location relative to the\n"
                 "HTML output directory using the MATHJAX_RELPATH option. The destination\n"
                 "directory should contain the MathJax.js script. For instance, if the mathjax\n"
                 "directory is located at the same level as the HTML output directory, then\n"
1670 1671 1672 1673 1674
                 "MATHJAX_RELPATH should be ../mathjax. The default value points to\n"
                 "the MathJax Content Delivery Network so you can quickly see the result without\n"
                 "installing MathJax.\n"
                 "However, it is strongly recommended to install a local\n"
                 "copy of MathJax from http://www.mathjax.org before deployment."
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1675
                );
1676
  cs->setDefaultValue("http://cdn.mathjax.org/mathjax/latest");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1677
  cs->addDependency("USE_MATHJAX");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1678
  //----
1679 1680 1681 1682 1683 1684 1685
  cl = cfg->addList(
                 "MATHJAX_EXTENSIONS",
                 "The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension\n"
                 "names that should be enabled during MathJax rendering."
                );
  cl->addDependency("USE_MATHJAX");
  //----
1686 1687 1688 1689 1690 1691 1692
  cs = cfg->addString(
                 "MATHJAX_CODEFILE",
                 "The MATHJAX_CODEFILE tag can be used to specify a file with javascript\n"
                 "pieces of code that will be used on startup of the MathJax code."
                );
  cs->addDependency("USE_MATHJAX");
  //----
1693 1694
  cb = cfg->addBool(
                 "SEARCHENGINE",
1695 1696 1697 1698 1699
                 "When the SEARCHENGINE tag is enabled doxygen will generate a search box\n"
                 "for the HTML output. The underlying search engine uses javascript\n"
                 "and DHTML and should work on any modern browser. Note that when using\n"
                 "HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets\n"
                 "(GENERATE_DOCSET) there is already a search function so this one should\n"
1700 1701
                 "typically be disabled. For large projects the javascript based search engine\n"
                 "can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.",
1702 1703 1704
                 TRUE
                );
  cb->addDependency("GENERATE_HTML");
1705 1706 1707
  //----
  cb = cfg->addBool(
                 "SERVER_BASED_SEARCH",
1708
                 "When the SERVER_BASED_SEARCH tag is enabled the search engine will be\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1709 1710 1711 1712 1713 1714
                 "implemented using a web server instead of a web client using Javascript.\n"
                 "There are two flavours of web server based search depending on the\n"
                 "EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for\n"
                 "searching and an index file used by the script. When EXTERNAL_SEARCH is\n"
                 "enabled the indexing and searching needs to be provided by external tools.\n"
                 "See the manual for details.",
1715 1716 1717
                 FALSE
                );
  cb->addDependency("SEARCHENGINE");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1718 1719 1720 1721 1722 1723 1724 1725
  //----
  cb = cfg->addBool(
                 "EXTERNAL_SEARCH",
                 "When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP\n"
                 "script for searching. Instead the search results are written to an XML file\n"
                 "which needs to be processed by an external indexer. Doxygen will invoke an\n"
                 "external search engine pointed to by the SEARCHENGINE_URL option to obtain\n"
                 "the search results. Doxygen ships with an example indexer (doxyindexer) and\n"
1726 1727
                 "search engine (doxysearch.cgi) which are based on the open source search\n"
                 "engine library Xapian. See the manual for configuration details.",
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751
                 FALSE
                );
  cb->addDependency("SEARCHENGINE");
  //----
  cs = cfg->addString(
                 "SEARCHENGINE_URL",
                 "The SEARCHENGINE_URL should point to a search engine hosted by a web server\n"
                 "which will returned the search results when EXTERNAL_SEARCH is enabled.\n"
                 "Doxygen ships with an example search engine (doxysearch) which is based on\n"
                 "the open source search engine library Xapian. See the manual for configuration\n"
                 "details."
                );
  cs->addDependency("SEARCHENGINE");
  //----
  cs = cfg->addString(
                 "SEARCHDATA_FILE",
                 "When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed\n"
                 "search data is written to a file for indexing by an external tool. With the\n"
                 "SEARCHDATA_FILE tag the name of this file can be specified."
                );
  cs->setDefaultValue("searchdata.xml");
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("SEARCHENGINE");
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1752 1753 1754 1755 1756 1757 1758
  cs = cfg->addString(
                 "EXTERNAL_SEARCH_ID",
                 "When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the\n"
                 "EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is\n"
                 "useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple\n"
                 "projects and redirect the results back to the right project."
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1759
  cs->addDependency("SEARCHENGINE");
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1760
  //----
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1761 1762
  cl = cfg->addList(
                 "EXTRA_SEARCH_MAPPINGS",
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1763 1764 1765 1766 1767 1768
                 "The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen\n"
                 "projects other than the one defined by this configuration file, but that are\n"
                 "all added to the same external search index. Each project needs to have a\n"
                 "unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id\n"
                 "of to a relative location where the documentation can be found.\n"
                 "The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ..."
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1769 1770
                );
  cl->addDependency("SEARCHENGINE");
1771 1772 1773
  //---------------------------------------------------------------------------
  cfg->addInfo("LaTeX","configuration options related to the LaTeX output");
  //---------------------------------------------------------------------------
1774

1775
  //----
1776
  cb = cfg->addBool(
1777
                 "GENERATE_LATEX",
1778
                 "If the GENERATE_LATEX tag is set to YES (the default) Doxygen will\n"
1779 1780 1781
                 "generate Latex output.",
                 TRUE
                );
1782 1783
  //----
  cs = cfg->addString(
1784
                 "LATEX_OUTPUT",
1785 1786
                 "The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"
1787 1788
                 "put in front of it. If left blank `latex' will be used as the default path."
                );
1789 1790 1791 1792 1793
  cs->setDefaultValue("latex");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_LATEX");
  //----
  cs = cfg->addString(
1794
                 "LATEX_CMD_NAME",
1795
                 "The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be\n"
1796 1797 1798 1799
                 "invoked. If left blank `latex' will be used as the default command name.\n"
                 "Note that when enabling USE_PDFLATEX this option is only used for\n"
                 "generating bitmaps for formulas in the HTML output, but not in the\n"
                 "Makefile that is written to the output directory."
1800
                );
1801 1802 1803 1804 1805
  cs->setDefaultValue("latex");
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_LATEX");
  //----
  cs = cfg->addString(
1806
                 "MAKEINDEX_CMD_NAME",
1807 1808
                 "The MAKEINDEX_CMD_NAME tag can be used to specify the command name to\n"
                 "generate index for LaTeX. If left blank `makeindex' will be used as the\n"
1809 1810
                 "default command name."
                );
1811 1812 1813 1814 1815
  cs->setDefaultValue("makeindex");
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_LATEX");
  //----
  cb = cfg->addBool(
1816
                 "COMPACT_LATEX",
1817 1818
                 "If the COMPACT_LATEX tag is set to YES Doxygen generates more compact\n"
                 "LaTeX documents. This may be useful for small projects and may help to\n"
1819 1820 1821
                 "save some trees in general.",
                 FALSE
                );
1822 1823 1824
  cb->addDependency("GENERATE_LATEX");
  //----
  ce = cfg->addEnum(
1825
                 "PAPER_TYPE",
1826
                 "The PAPER_TYPE tag can be used to set the paper type that is used\n"
1827
                 "by the printer. Possible values are: a4, letter, legal and\n"
Dimitri van Heesch's avatar
Dimitri van Heesch committed
1828
                 "executive. If left blank a4 will be used.",
1829
                 "a4"
1830
                );
1831 1832 1833 1834 1835 1836 1837
  ce->addValue("a4");
  ce->addValue("letter");
  ce->addValue("legal");
  ce->addValue("executive");
  ce->addDependency("GENERATE_LATEX");
  //----
  cl = cfg->addList(
1838
                 "EXTRA_PACKAGES",
1839
                 "The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX\n"
1840 1841
                 "packages that should be included in the LaTeX output."
                );
1842 1843 1844
  cl->addDependency("GENERATE_LATEX");
  //----
  cs = cfg->addString(
1845
                 "LATEX_HEADER",
1846 1847 1848
                 "The LATEX_HEADER tag can be used to specify a personal LaTeX header for\n"
                 "the generated latex document. The header should contain everything until\n"
                 "the first chapter. If it is left blank doxygen will generate a\n"
1849 1850
                 "standard header. Notice: only use this tag if you know what you are doing!"
                );
1851 1852 1853
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_LATEX");
  //----
1854 1855 1856 1857 1858 1859 1860 1861 1862 1863
  cs = cfg->addString(
                 "LATEX_FOOTER",
                 "The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for\n"
                 "the generated latex document. The footer should contain everything after\n"
                 "the last chapter. If it is left blank doxygen will generate a\n"
                 "standard footer. Notice: only use this tag if you know what you are doing!"
                );
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_LATEX");
  //----
1864 1865 1866 1867 1868 1869 1870 1871 1872 1873
  cl = cfg->addList(
                 "LATEX_EXTRA_FILES",
                 "The LATEX_EXTRA_FILES tag can be used to specify one or more extra images\n"
                 "or other source files which should be copied to the LaTeX output directory.\n"
                 "Note that the files will be copied as-is; there are no commands or markers\n"
                 "available."
                );
  cl->addDependency("GENERATE_LATEX");
  cl->setWidgetType(ConfigList::File);
  //----
1874
  cb = cfg->addBool(
1875
                 "PDF_HYPERLINKS",
1876 1877 1878
                 "If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated\n"
                 "is prepared for conversion to pdf (using ps2pdf). The pdf file will\n"
                 "contain links (just like the HTML output) instead of page references\n"
1879 1880 1881
                 "This makes the output suitable for online browsing using a pdf viewer.",
                 TRUE
                );
1882 1883 1884
  cb->addDependency("GENERATE_LATEX");
  //----
  cb = cfg->addBool(
1885
                 "USE_PDFLATEX",
1886 1887
                 "If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of\n"
                 "plain latex in the generated Makefile. Set this option to YES to get a\n"
1888 1889 1890
                 "higher quality PDF documentation.",
                 TRUE
                );
1891 1892 1893
  cb->addDependency("GENERATE_LATEX");
  //----
  cb = cfg->addBool(
1894
                 "LATEX_BATCHMODE",
1895 1896 1897
                 "If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\\\batchmode.\n"
                 "command to the generated LaTeX files. This will instruct LaTeX to keep\n"
                 "running if errors occur, instead of asking the user for help.\n"
1898 1899 1900
                 "This option is also used when generating formulas in HTML.",
                 FALSE
                );
1901 1902 1903
  cb->addDependency("GENERATE_LATEX");
  //----
  cb = cfg->addBool(
1904
                 "LATEX_HIDE_INDICES",
1905 1906
                 "If LATEX_HIDE_INDICES is set to YES then doxygen will not\n"
                 "include the index chapters (such as File Index, Compound Index, etc.)\n"
1907 1908 1909
                 "in the output.",
                 FALSE
                );
1910
  cb->addDependency("GENERATE_LATEX");
1911 1912 1913
  //----
  cb = cfg->addBool(
                 "LATEX_SOURCE_CODE",
1914 1915 1916 1917
                 "If LATEX_SOURCE_CODE is set to YES then doxygen will include\n"
                 "source code with syntax highlighting in the LaTeX output.\n"
                 "Note that which sources are shown also depends on other settings\n"
                 "such as SOURCE_BROWSER.",
1918 1919 1920
                 FALSE
                );
  cb->addDependency("GENERATE_LATEX");
1921 1922 1923 1924 1925 1926 1927 1928
  //----
  cs = cfg->addString(
                 "LATEX_BIB_STYLE",
                 "The LATEX_BIB_STYLE tag can be used to specify the style to use for the\n"
                 "bibliography, e.g. plainnat, or ieeetr. The default style is \"plain\". See\n"
                 "http://en.wikipedia.org/wiki/BibTeX for more info."
                );
  cs->setDefaultValue("plain");
1929
  cs->addDependency("GENERATE_LATEX");
1930 1931 1932 1933 1934
  //---------------------------------------------------------------------------
  cfg->addInfo("RTF","configuration options related to the RTF output");
  //---------------------------------------------------------------------------

  //----
1935
  cb = cfg->addBool(
1936
                 "GENERATE_RTF",
1937 1938
                 "If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output\n"
                 "The RTF output is optimized for Word 97 and may not look very pretty with\n"
1939 1940 1941
                 "other RTF readers or editors.",
                 FALSE
                );
1942 1943
  //----
  cs = cfg->addString(
1944
                 "RTF_OUTPUT",
1945 1946
                 "The RTF_OUTPUT tag is used to specify where the RTF docs will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"
1947 1948
                 "put in front of it. If left blank `rtf' will be used as the default path."
                );
1949 1950 1951 1952
  cs->setDefaultValue("rtf");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_RTF");
  //----
1953 1954
  cb = cfg->addBool(
                 "COMPACT_RTF",
1955 1956
                 "If the COMPACT_RTF tag is set to YES Doxygen generates more compact\n"
                 "RTF documents. This may be useful for small projects and may help to\n"
1957 1958
                 "save some trees in general.",
                 FALSE
1959 1960 1961 1962
                );
  cb->addDependency("GENERATE_RTF");
  //----
  cb = cfg->addBool(
1963
                 "RTF_HYPERLINKS",
1964 1965 1966 1967 1968
                 "If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated\n"
                 "will contain hyperlink fields. The RTF file will\n"
                 "contain links (just like the HTML output) instead of page references.\n"
                 "This makes the output suitable for online browsing using WORD or other\n"
                 "programs which support those fields.\n"
1969 1970 1971
                 "Note: wordpad (write) and others do not support links.",
                 FALSE
                );
1972 1973 1974
  cb->addDependency("GENERATE_RTF");
  //----
  cs = cfg->addString(
1975
                 "RTF_STYLESHEET_FILE",
1976
                 "Load style sheet definitions from file. Syntax is similar to doxygen's\n"
1977
                 "config file, i.e. a series of assignments. You only have to provide\n"
1978 1979
                 "replacements, missing definitions are set to their default value."
                );
1980 1981 1982 1983
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_RTF");
  //----
  cs = cfg->addString(
1984
                 "RTF_EXTENSIONS_FILE",
1985
                 "Set optional variables used in the generation of an rtf document.\n"
1986 1987
                 "Syntax is similar to doxygen's config file."
                );
1988 1989
  cs->setWidgetType(ConfigString::File);
  cs->addDependency("GENERATE_RTF");
1990 1991 1992
  //---------------------------------------------------------------------------
  cfg->addInfo("Man","configuration options related to the man page output");
  //---------------------------------------------------------------------------
1993

1994
  //----
1995
  cb = cfg->addBool(
1996
                 "GENERATE_MAN",
1997
                 "If the GENERATE_MAN tag is set to YES (the default) Doxygen will\n"
1998 1999 2000
                 "generate man pages",
                 FALSE
                );
2001 2002
  //----
  cs = cfg->addString(
2003
                 "MAN_OUTPUT",
2004 2005
                 "The MAN_OUTPUT tag is used to specify where the man pages will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"
2006 2007
                 "put in front of it. If left blank `man' will be used as the default path."
                );
2008 2009 2010 2011 2012
  cs->setDefaultValue("man");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_MAN");
  //----
  cs = cfg->addString(
2013
                 "MAN_EXTENSION",
2014
                 "The MAN_EXTENSION tag determines the extension that is added to\n"
2015 2016
                 "the generated man pages (default is the subroutine's section .3)"
                );
2017 2018 2019 2020
  cs->setDefaultValue(".3");
  cs->addDependency("GENERATE_MAN");
  //----
  cb = cfg->addBool(
2021
                 "MAN_LINKS",
2022 2023 2024 2025
                 "If the MAN_LINKS tag is set to YES and Doxygen generates man output,\n"
                 "then it will generate one additional man file for each entity\n"
                 "documented in the real man page(s). These additional files\n"
                 "only source the real man page, but without them the man command\n"
2026 2027 2028
                 "would be unable to find the correct page. The default is NO.",
                 FALSE
                );
2029
  cb->addDependency("GENERATE_MAN");
2030 2031 2032 2033 2034 2035 2036
  //---------------------------------------------------------------------------
  cfg->addInfo("XML","configuration options related to the XML output");
  //---------------------------------------------------------------------------

  //----
  cb = cfg->addBool(
                 "GENERATE_XML",
2037 2038
                 "If the GENERATE_XML tag is set to YES Doxygen will\n"
                 "generate an XML file that captures the structure of\n"
2039 2040 2041
                 "the code including all documentation.",
                 FALSE
                );
2042 2043
  //----
  cs = cfg->addString(
2044
                 "XML_OUTPUT",
2045 2046
                 "The XML_OUTPUT tag is used to specify where the XML pages will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be\n"
2047 2048
                 "put in front of it. If left blank `xml' will be used as the default path."
                );
2049 2050 2051 2052 2053
  cs->setDefaultValue("xml");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_XML");
  //----
  cs = cfg->addString(
2054
                 "XML_SCHEMA",
2055 2056
                 "The XML_SCHEMA tag can be used to specify an XML schema,\n"
                 "which can be used by a validating XML parser to check the\n"
2057 2058
                 "syntax of the XML files."
                );
2059 2060 2061
  cs->addDependency("GENERATE_XML");
  //----
  cs = cfg->addString(
2062
                 "XML_DTD",
2063 2064
                 "The XML_DTD tag can be used to specify an XML DTD,\n"
                 "which can be used by a validating XML parser to check the\n"
2065 2066
                 "syntax of the XML files."
                );
2067 2068 2069
  cs->addDependency("GENERATE_XML");
  //----
  cb = cfg->addBool(
2070
                 "XML_PROGRAMLISTING",
2071 2072 2073
                 "If the XML_PROGRAMLISTING tag is set to YES Doxygen will\n"
                 "dump the program listings (including syntax highlighting\n"
                 "and cross-referencing information) to the XML output. Note that\n"
2074 2075 2076
                 "enabling this will significantly increase the size of the XML output.",
                 TRUE
                );
2077
  cb->addDependency("GENERATE_XML");
2078
  //---------------------------------------------------------------------------
2079
  cfg->addInfo("Docbook","configuration options related to the DOCBOOK output");
2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099
  //---------------------------------------------------------------------------

  //----
  cb = cfg->addBool(
                 "GENERATE_DOCBOOK",
                 "If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files\n"
                 "that can be used to generate PDF.",
                 FALSE
                );
  //----
  cs = cfg->addString(
                 "DOCBOOK_OUTPUT",
                 "The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put.\n"
                 "If a relative path is entered the value of OUTPUT_DIRECTORY will be put in\n"
                 "front of it. If left blank docbook will be used as the default path."
                );
  cs->setDefaultValue("docbook");
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("GENERATE_DOCBOOK");
  //---------------------------------------------------------------------------
2100 2101
  cfg->addInfo("DEF","configuration options for the AutoGen Definitions output");
  //---------------------------------------------------------------------------
2102

2103 2104 2105
  //----
  cb = cfg->addBool(
                 "GENERATE_AUTOGEN_DEF",
2106 2107 2108 2109
                 "If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will\n"
                 "generate an AutoGen Definitions (see autogen.sf.net) file\n"
                 "that captures the structure of the code including all\n"
                 "documentation. Note that this feature is still experimental\n"
2110 2111 2112 2113 2114 2115
                 "and incomplete at the moment.",
                 FALSE
                );
  //---------------------------------------------------------------------------
  cfg->addInfo("PerlMod","configuration options related to the Perl module output");
  //---------------------------------------------------------------------------
2116

2117 2118 2119
  //----
  cb = cfg->addBool(
                 "GENERATE_PERLMOD",
2120 2121 2122 2123
                 "If the GENERATE_PERLMOD tag is set to YES Doxygen will\n"
                 "generate a Perl module file that captures the structure of\n"
                 "the code including all documentation. Note that this\n"
                 "feature is still experimental and incomplete at the\n"
2124 2125 2126 2127 2128 2129
                 "moment.",
                 FALSE
                );
  //----
  cb = cfg->addBool(
                 "PERLMOD_LATEX",
2130 2131
                 "If the PERLMOD_LATEX tag is set to YES Doxygen will generate\n"
                 "the necessary Makefile rules, Perl scripts and LaTeX code to be able\n"
2132 2133 2134
                 "to generate PDF and DVI output from the Perl module output.",
                 FALSE
                );
2135 2136
  cb->addDependency("GENERATE_PERLMOD");
  //----
2137 2138
  cb = cfg->addBool(
                 "PERLMOD_PRETTY",
2139 2140 2141 2142 2143 2144
                 "If the PERLMOD_PRETTY tag is set to YES the Perl module output will be\n"
                 "nicely formatted so it can be parsed by a human reader.\n"
                 "This is useful\n"
                 "if you want to understand what is going on.\n"
                 "On the other hand, if this\n"
                 "tag is set to NO the size of the Perl module output will be much smaller\n"
2145 2146 2147
                 "and Perl will parse it just the same.",
                 TRUE
                );
2148 2149
  cb->addDependency("GENERATE_PERLMOD");
  //----
2150 2151
  cs = cfg->addString(
                 "PERLMOD_MAKEVAR_PREFIX",
2152 2153 2154
                 "The names of the make variables in the generated doxyrules.make file\n"
                 "are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.\n"
                 "This is useful so different doxyrules.make files included by the same\n"
2155 2156
                 "Makefile don't overwrite each other's variables."
                );
2157
  cs->addDependency("GENERATE_PERLMOD");
2158
  //---------------------------------------------------------------------------
2159
  cfg->addInfo("Preprocessor","Configuration options related to the preprocessor");
2160
  //---------------------------------------------------------------------------
2161

2162 2163 2164
  //----
  cb = cfg->addBool(
                 "ENABLE_PREPROCESSING",
2165 2166
                 "If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will\n"
                 "evaluate all C-preprocessor directives found in the sources and include\n"
2167 2168 2169 2170 2171 2172
                 "files.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "MACRO_EXPANSION",
2173 2174 2175
                 "If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro\n"
                 "names in the source code. If set to NO (the default) only conditional\n"
                 "compilation will be performed. Macro expansion can be done in a controlled\n"
2176 2177 2178
                 "way by setting EXPAND_ONLY_PREDEF to YES.",
                 FALSE
                );
2179 2180 2181
  cb->addDependency("ENABLE_PREPROCESSING");
  //----
  cb = cfg->addBool(
2182
                 "EXPAND_ONLY_PREDEF",
2183 2184
                 "If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES\n"
                 "then the macro expansion is limited to the macros specified with the\n"
2185 2186 2187
                 "PREDEFINED and EXPAND_AS_DEFINED tags.",
                 FALSE
                );
2188 2189 2190
  cb->addDependency("ENABLE_PREPROCESSING");
  //----
  cb = cfg->addBool(
2191
                 "SEARCH_INCLUDES",
2192
                 "If the SEARCH_INCLUDES tag is set to YES (the default) the includes files\n"
2193
                 "pointed to by INCLUDE_PATH will be searched when a #include is found.",
2194 2195
                 TRUE
                );
2196 2197 2198
  cb->addDependency("ENABLE_PREPROCESSING");
  //----
  cl = cfg->addList(
2199
                 "INCLUDE_PATH",
2200 2201
                 "The INCLUDE_PATH tag can be used to specify one or more directories that\n"
                 "contain include files that are not input files but should be processed by\n"
2202 2203
                 "the preprocessor."
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2204
  cl->addDependency("SEARCH_INCLUDES");
2205
  cl->setWidgetType(ConfigList::Dir);
2206 2207
  //----
  cl = cfg->addList(
2208
                 "INCLUDE_FILE_PATTERNS",
2209 2210 2211
                 "You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard\n"
                 "patterns (like *.h and *.hpp) to filter out the header-files in the\n"
                 "directories. If left blank, the patterns specified with FILE_PATTERNS will\n"
2212 2213
                 "be used."
                );
2214 2215 2216
  cl->addDependency("ENABLE_PREPROCESSING");
  //----
  cl = cfg->addList(
2217
                 "PREDEFINED",
2218 2219 2220 2221 2222 2223
                 "The PREDEFINED tag can be used to specify one or more macro names that\n"
                 "are defined before the preprocessor is started (similar to the -D option of\n"
                 "gcc). The argument of the tag is a list of macros of the form: name\n"
                 "or name=definition (no spaces). If the definition and the = are\n"
                 "omitted =1 is assumed. To prevent a macro definition from being\n"
                 "undefined via #undef or recursively expanded use the := operator\n"
2224 2225
                 "instead of the = operator."
                );
2226 2227 2228
  cl->addDependency("ENABLE_PREPROCESSING");
  //----
  cl = cfg->addList(
2229
                 "EXPAND_AS_DEFINED",
2230 2231 2232
                 "If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then\n"
                 "this tag can be used to specify a list of macro names that should be expanded.\n"
                 "The macro definition that is found in the sources will be used.\n"
2233 2234
                 "Use the PREDEFINED tag if you want to use a different macro definition that\n"
                 "overrules the definition found in the source code."
2235
                );
2236 2237 2238
  cl->addDependency("ENABLE_PREPROCESSING");
  //----
  cb = cfg->addBool(
2239
                 "SKIP_FUNCTION_MACROS",
2240
                 "If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then\n"
2241 2242 2243
                 "doxygen's preprocessor will remove all references to function-like macros\n"
                 "that are alone on a line, have an all uppercase name, and do not end with a\n"
                 "semicolon, because these will confuse the parser if not removed.",
2244 2245
                 TRUE
                );
2246
  cb->addDependency("ENABLE_PREPROCESSING");
2247
  //---------------------------------------------------------------------------
2248
  cfg->addInfo("External","Configuration::additions related to external references");
2249 2250 2251
  //---------------------------------------------------------------------------

  //----
2252
  cl = cfg->addList(
2253
                 "TAGFILES",
2254 2255 2256
                 "The TAGFILES option can be used to specify one or more tagfiles. For each\n"
                 "tag file the location of the external documentation should be added. The\n"
                 "format of a tag file without this location is as follows:\n"
2257 2258 2259 2260 2261
                 "\n"
                 "TAGFILES = file1 file2 ...\n"
                 "Adding location for the tag files is done as follows:\n"
                 "\n"
                 "TAGFILES = file1=loc1 \"file2 = loc2\" ...\n"
2262 2263 2264 2265
                 "where \"loc1\" and \"loc2\" can be relative or absolute paths\n"
                 "or URLs. Note that each tag file must have a unique name (where the name does\n"
                 "NOT include the path). If a tag file is not located in the directory in which\n"
                 "doxygen is run, you must also specify the path to the tagfile here."
2266
                );
2267 2268 2269
  cl->setWidgetType(ConfigList::File);
  //----
  cs = cfg->addString(
2270
                 "GENERATE_TAGFILE",
2271
                 "When a file name is specified after GENERATE_TAGFILE, doxygen will create\n"
2272 2273
                 "a tag file that is based on the input files it reads."
                );
2274 2275 2276
  cs->setWidgetType(ConfigString::File);
  //----
  cb = cfg->addBool(
2277
                 "ALLEXTERNALS",
2278 2279
                 "If the ALLEXTERNALS tag is set to YES all external classes will be listed\n"
                 "in the class index. If set to NO only the inherited external classes\n"
2280 2281 2282
                 "will be listed.",
                 FALSE
                );
2283 2284
  //----
  cb = cfg->addBool(
2285
                 "EXTERNAL_GROUPS",
2286 2287
                 "If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed\n"
                 "in the modules index. If set to NO, only the current project's groups will\n"
2288 2289 2290
                 "be listed.",
                 TRUE
                );
2291
  //----
2292 2293 2294 2295 2296 2297 2298 2299
  cb = cfg->addBool(
                 "EXTERNAL_PAGES",
                 "If the EXTERNAL_PAGES tag is set to YES all external pages will be listed\n"
                 "in the related pages index. If set to NO, only the current project's\n"
                 "pages will be listed.",
                 TRUE
                );
  //----
2300
  cs = cfg->addString(
2301
                 "PERL_PATH",
2302
                 "The PERL_PATH should be the absolute path and name of the perl script\n"
2303 2304
                 "interpreter (i.e. the result of `which perl')."
                );
2305 2306
  cs->setDefaultValue("/usr/bin/perl");
  cs->setWidgetType(ConfigString::Dir);
2307
  //---------------------------------------------------------------------------
2308
  cfg->addInfo("Dot","Configuration options related to the dot tool");
2309
  //---------------------------------------------------------------------------
2310

2311 2312 2313
  //----
  cb = cfg->addBool(
                 "CLASS_DIAGRAMS",
2314 2315 2316
                 "If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will\n"
                 "generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base\n"
                 "or super classes. Setting the tag to NO turns the diagrams off. Note that\n"
2317 2318
                 "this option also works with HAVE_DOT disabled, but it is recommended to\n"
                 "install and use dot, since it yields more powerful graphs.",
2319 2320 2321 2322 2323
                 TRUE
                );
  //----
  cs = cfg->addString(
                 "MSCGEN_PATH",
2324 2325 2326 2327 2328
                 "You can define message sequence charts within doxygen comments using the \\msc\n"
                 "command. Doxygen will then run the mscgen tool (see\n"
                 "http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the\n"
                 "documentation. The MSCGEN_PATH tag allows you to specify the directory where\n"
                 "the mscgen tool resides. If left empty the tool is assumed to be found in the\n"
2329 2330 2331 2332 2333
                 "default search path."
                );
  //----
  cb = cfg->addBool(
                 "HIDE_UNDOC_RELATIONS",
2334 2335
                 "If set to YES, the inheritance and collaboration graphs will hide\n"
                 "inheritance and usage relations if the target is undocumented\n"
2336 2337 2338 2339 2340 2341
                 "or is not a class.",
                 TRUE
                );
  //----
  cb = cfg->addBool(
                 "HAVE_DOT",
2342 2343 2344
                 "If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is\n"
                 "available from the path. This tool is part of Graphviz, a graph visualization\n"
                 "toolkit from AT&T and Lucent Bell Labs. The other options in this section\n"
2345 2346 2347 2348
                 "have no effect if this option is set to NO (the default)",
                 FALSE
                );
  //----
2349 2350 2351 2352 2353 2354 2355 2356 2357
  ci = cfg->addInt(
                 "DOT_NUM_THREADS",
                 "The DOT_NUM_THREADS specifies the number of dot invocations doxygen is\n"
                 "allowed to run in parallel. When set to 0 (the default) doxygen will\n"
                 "base this on the number of processors available in the system. You can set it\n"
                 "explicitly to a value larger than 0 to get control over the balance\n"
                 "between CPU load and processing speed.",
                 0,32,0
                );
Dimitri van Heesch's avatar
Dimitri van Heesch committed
2358
  ci->addDependency("HAVE_DOT");
2359
  //----
2360 2361
  cs = cfg->addString(
                 "DOT_FONTNAME",
2362 2363
                 "By default doxygen will use the Helvetica font for all dot files that\n"
                 "doxygen generates. When you want a differently looking font you can specify\n"
2364 2365 2366 2367
                 "the font name using DOT_FONTNAME. You need to make sure dot is able to find\n"
                 "the font, which can be done by putting it in a standard location or by setting\n"
                 "the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the\n"
                 "directory containing the font."
2368
                );
2369
  cs->setDefaultValue("Helvetica");
2370 2371
  cs->addDependency("HAVE_DOT");
  //----
2372 2373
  ci = cfg->addInt(
                 "DOT_FONTSIZE",
2374
                 "The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.\n"
2375 2376 2377
                 "The default size is 10pt.",
                 4,24,10
                );
2378 2379
  ci->addDependency("HAVE_DOT");
  //----
2380 2381
  cs = cfg->addString(
                 "DOT_FONTPATH",
2382
                 "By default doxygen will tell dot to use the Helvetica font.\n"
2383 2384
                 "If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to\n"
                 "set the path where dot can find it."
2385 2386 2387 2388
                );
  cs->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2389
                 "CLASS_GRAPH",
2390 2391 2392
                 "If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen\n"
                 "will generate a graph for each documented class showing the direct and\n"
                 "indirect inheritance relations. Setting this tag to YES will force the\n"
2393
                 "CLASS_DIAGRAMS tag to NO.",
2394 2395
                 TRUE
                );
2396 2397 2398
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2399
                 "COLLABORATION_GRAPH",
2400 2401 2402
                 "If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen\n"
                 "will generate a graph for each documented class showing the direct and\n"
                 "indirect implementation dependencies (inheritance, containment, and\n"
2403 2404 2405
                 "class references variables) of the class with other documented classes.",
                 TRUE
                );
2406 2407 2408
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2409
                 "GROUP_GRAPHS",
2410
                 "If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen\n"
2411 2412 2413
                 "will generate a graph for groups, showing the direct groups dependencies",
                 TRUE
                );
2414 2415 2416
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2417
                 "UML_LOOK",
2418 2419
                 "If the UML_LOOK tag is set to YES doxygen will generate inheritance and\n"
                 "collaboration diagrams in a style similar to the OMG's Unified Modeling\n"
2420 2421 2422
                 "Language.",
                 FALSE
                );
2423 2424
  cb->addDependency("HAVE_DOT");
  //----
2425 2426 2427 2428 2429 2430
  ci = cfg->addInt(
                 "UML_LIMIT_NUM_FIELDS",
                 "If the UML_LOOK tag is enabled, the fields and methods are shown inside\n"
                 "the class node. If there are many fields or methods and many nodes the\n"
                 "graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS\n"
                 "threshold limits the number of items for each type to make the size more\n"
2431
                 "manageable. Set this to 0 for no limit. Note that the threshold may be\n"
2432 2433 2434 2435 2436
                 "exceeded by 50% before the limit is enforced.",
                 0,100,10
                );
  ci->addDependency("HAVE_DOT");
  //----
2437
  cb = cfg->addBool(
2438
                 "TEMPLATE_RELATIONS",
2439
                 "If set to YES, the inheritance and collaboration graphs will show the\n"
2440 2441 2442
                 "relations between templates and their instances.",
                 FALSE
                );
2443 2444 2445
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2446
                 "INCLUDE_GRAPH",
2447 2448 2449
                 "If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT\n"
                 "tags are set to YES then doxygen will generate a graph for each documented\n"
                 "file showing the direct and indirect include dependencies of the file with\n"
2450 2451 2452
                 "other documented files.",
                 TRUE
                );
2453 2454 2455
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2456
                 "INCLUDED_BY_GRAPH",
2457 2458 2459
                 "If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and\n"
                 "HAVE_DOT tags are set to YES then doxygen will generate a graph for each\n"
                 "documented header file showing the documented files that directly or\n"
2460 2461 2462
                 "indirectly include this file.",
                 TRUE
                );
2463 2464 2465
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2466
                 "CALL_GRAPH",
2467 2468 2469 2470
                 "If the CALL_GRAPH and HAVE_DOT options are set to YES then\n"
                 "doxygen will generate a call dependency graph for every global function\n"
                 "or class method. Note that enabling this option will significantly increase\n"
                 "the time of a run. So in most cases it will be better to enable call graphs\n"
2471 2472 2473
                 "for selected functions only using the \\callgraph command.",
                 FALSE
                );
2474 2475 2476
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2477
                 "CALLER_GRAPH",
2478 2479 2480 2481
                 "If the CALLER_GRAPH and HAVE_DOT tags are set to YES then\n"
                 "doxygen will generate a caller dependency graph for every global function\n"
                 "or class method. Note that enabling this option will significantly increase\n"
                 "the time of a run. So in most cases it will be better to enable caller\n"
2482 2483 2484
                 "graphs for selected functions only using the \\callergraph command.",
                 FALSE
                );
2485 2486 2487
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2488
                 "GRAPHICAL_HIERARCHY",
2489
                 "If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen\n"
2490
                 "will generate a graphical hierarchy of all classes instead of a textual one.",
2491 2492
                 TRUE
                );
2493 2494
  cb->addDependency("HAVE_DOT");
  //----
2495 2496
  cb = cfg->addBool(
                 "DIRECTORY_GRAPH",
2497
                 "If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES\n"
2498 2499
                 "then doxygen will show the dependencies a directory has on other directories\n"
                 "in a graphical way. The dependency relations are determined by the #include\n"
2500 2501 2502
                 "relations between the files in the directories.",
                 TRUE
                );
2503 2504 2505
  cb->addDependency("HAVE_DOT");
  //----
  ce = cfg->addEnum(
2506
                 "DOT_IMAGE_FORMAT",
2507
                 "The DOT_IMAGE_FORMAT tag can be used to set the image format of the images\n"
2508
                 "generated by dot. Possible values are svg, png, jpg, or gif.\n"
2509
                 "If left blank png will be used. If you choose svg you need to set\n"
2510 2511
                 "HTML_FILE_EXTENSION to xhtml in order to make the SVG files\n"
                 "visible in IE 9+ (other browsers do not have this requirement).",
2512 2513
                 "png"
                );
2514 2515 2516
  ce->addValue("png");
  ce->addValue("jpg");
  ce->addValue("gif");
2517
  ce->addValue("svg");
2518 2519
  ce->addDependency("HAVE_DOT");
  //----
2520 2521
  cb = cfg->addBool(
                 "INTERACTIVE_SVG",
2522 2523 2524 2525 2526 2527
                 "If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to\n"
                 "enable generation of interactive SVG images that allow zooming and panning.\n"
                 "Note that this requires a modern browser other than Internet Explorer.\n"
                 "Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you\n"
                 "need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files\n"
                 "visible. Older versions of IE do not have SVG support.",
2528 2529 2530 2531
                 FALSE
                );
  cb->addDependency("HAVE_DOT");
  //----
2532
  cs = cfg->addString(
2533
                 "DOT_PATH",
2534
                 "The tag DOT_PATH can be used to specify the path where the dot tool can be\n"
2535 2536
                 "found. If left blank, it is assumed the dot tool can be found in the path."
                );
2537 2538 2539 2540
  cs->setWidgetType(ConfigString::Dir);
  cs->addDependency("HAVE_DOT");
  //----
  cl = cfg->addList(
2541
                 "DOTFILE_DIRS",
2542 2543
                 "The DOTFILE_DIRS tag can be used to specify one or more directories that\n"
                 "contain dot files that are included in the documentation (see the\n"
2544 2545
                 "\\dotfile command)."
                );
2546
  cl->addDependency("HAVE_DOT");
2547
  cl->setWidgetType(ConfigList::Dir);
2548
  //----
2549 2550 2551 2552 2553 2554 2555 2556
  cl = cfg->addList(
                 "MSCFILE_DIRS",
                 "The MSCFILE_DIRS tag can be used to specify one or more directories that\n"
                 "contain msc files that are included in the documentation (see the\n"
                 "\\mscfile command)."
                );
  cl->setWidgetType(ConfigList::Dir);
  //----
2557
  ci = cfg->addInt(
2558
                 "DOT_GRAPH_MAX_NODES",
2559 2560 2561 2562 2563 2564
                 "The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of\n"
                 "nodes that will be shown in the graph. If the number of nodes in a graph\n"
                 "becomes larger than this value, doxygen will truncate the graph, which is\n"
                 "visualized by representing a node as a red box. Note that doxygen if the\n"
                 "number of direct children of the root node in a graph is already larger than\n"
                 "DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note\n"
2565 2566
                 "that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.",
                 0,10000,50
2567 2568 2569 2570
                );
  ci->addDependency("HAVE_DOT");
  //----
  ci = cfg->addInt(
2571
                 "MAX_DOT_GRAPH_DEPTH",
2572 2573 2574 2575 2576 2577
                 "The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the\n"
                 "graphs generated by dot. A depth value of 3 means that only nodes reachable\n"
                 "from the root by following a path via at most 3 edges will be shown. Nodes\n"
                 "that lay further from the root node will be omitted. Note that setting this\n"
                 "option to 1 or 2 may greatly reduce the computation time needed for large\n"
                 "code bases. Also note that the size of a graph can be further restricted by\n"
2578 2579
                 "DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.",
                 0,1000,0
2580 2581 2582 2583
                );
  ci->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2584
                 "DOT_TRANSPARENT",
2585 2586 2587 2588
                 "Set the DOT_TRANSPARENT tag to YES to generate images with a transparent\n"
                 "background. This is disabled by default, because dot on Windows does not\n"
                 "seem to support this out of the box. Warning: Depending on the platform used,\n"
                 "enabling this option may lead to badly anti-aliased labels on the edges of\n"
2589 2590 2591
                 "a graph (i.e. they become hard to read).",
                 FALSE
                );
2592 2593 2594
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2595
                 "DOT_MULTI_TARGETS",
2596 2597 2598
                 "Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output\n"
                 "files in one run (i.e. multiple -o and -T options on the command line). This\n"
                 "makes dot run faster, but since only newer versions of dot (>1.8.10)\n"
2599 2600 2601
                 "support this, this feature is disabled by default.",
                 FALSE
                );
2602 2603 2604
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2605
                 "GENERATE_LEGEND",
2606 2607
                 "If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will\n"
                 "generate a legend page explaining the meaning of the various boxes and\n"
2608 2609 2610
                 "arrows in the dot generated graphs.",
                 TRUE
                );
2611 2612 2613
  cb->addDependency("HAVE_DOT");
  //----
  cb = cfg->addBool(
2614
                 "DOT_CLEANUP",
2615 2616
                 "If the DOT_CLEANUP tag is set to YES (the default) Doxygen will\n"
                 "remove the intermediate dot files that are used to generate\n"
2617 2618 2619
                 "the various graphs.",
                 TRUE
                );
2620
  cb->addDependency("HAVE_DOT");
2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634
  //----
  cfg->addObsolete("USE_WINDOWS_ENCODING");
  //----
  cfg->addObsolete("DETAILS_AT_TOP");
  //----
  cfg->addObsolete("QTHELP_FILE");
  //----
  cfg->addObsolete("QTHELP_CONFIG");
  //----
  cfg->addObsolete("DOXYGEN2QTHELP_LOC");
  //----
  cfg->addObsolete("MAX_DOT_GRAPH_WIDTH");
  //----
  cfg->addObsolete("MAX_DOT_GRAPH_HEIGHT");
2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646
  //----
  cfg->addObsolete("CGI_NAME");
  //----
  cfg->addObsolete("CGI_URL");
  //----
  cfg->addObsolete("DOC_URL");
  //----
  cfg->addObsolete("DOC_ABSPATH");
  //----
  cfg->addObsolete("BIN_ABSPATH");
  //----
  cfg->addObsolete("EXT_DOC_PATHS");
2647 2648 2649 2650
  //----
  cfg->addObsolete("USE_INLINE_TREES");
  //----
  cfg->addObsolete("SHOW_DIRECTORIES");
2651 2652
  //----
  cfg->addObsolete("HTML_ALIGN_MEMBERS");
2653 2654
  //----
  cfg->addObsolete("SYMBOL_CACHE_SIZE");
2655
}