Doxygen usage

Doxygen is a command line based utility. Calling doxygen with the --help option at the command line will give you a brief description of the usage of the program.

All options consist of a leading character -, followed by one character and one or more arguments depending on the option.

To generate a manual for your project you typically need to follow these steps:

  1. You document your source code with special documentation blocks (see section Special comment blocks).
  2. You generate a configuration file (see section Configuration) by calling doxygen with the -g option:
    doxygen -g <config_file>
  3. You edit the configuration file so it matches your project. In the configuration file you can specify the input files and a lot of optional information.
  4. You let doxygen generate the documentation, based on the settings in the configuration file:
    doxygen <config_file>

If you have a configuration file generated with an older version of doxygen, you can upgrade it to the current version by running doxygen with the -u option.

doxygen -u <config_file>

All configuration settings in the original configuration file will be copied to the new configuration file. Any new options will have their default value. Note that comments that you may have added in the original configuration file will be lost.

Fine-tuning the output

If you want to fine-tune the way the output looks, doxygen allows you generate default style sheet, header, and footer files that you can edit afterwards:

  • For HTML output, you can generate the default header file (see HTML_HEADER), the default footer (see HTML_FOOTER), and the default style sheet (see HTML_STYLESHEET), using the following command:

    doxygen -w html header.html footer.html stylesheet.css <config_file>

    The config_file is optional. When omitted doxygen will search for a file named Doxyfile and process that. When this is also not found it will used the default settings.

  • For $\mbox{\LaTeX}$ output, you can generate the first and last part of refman.tex (see LATEX_HEADER and LATEX_FOOTER) and the style sheet included by that header (normally doxygen.sty), using the following command:
    doxygen -w latex header.tex footer.tex doxygen.sty <config_file>
    If you need non-default options (for instance to use extra $\mbox{\LaTeX}$ packages) you need to make a configuration file with those options set correctly and then specify that configuration file after the generated files (make a backup of the configuration file first so you don't loose it in case you forget to specify one of the output files).
  • For RTF output, you can generate the default style sheet file (see RTF_STYLESHEET_FILE) using:
    doxygen -w rtf rtfstyle.cfg
When using a custom header you are responsible for the proper inclusion of any scripts and style sheets that doxygen needs, which is dependent on the configuration options and may change when upgrading to a new doxygen release.
  • If you do not want documentation for each item inside the configuration file then you can use the optional -s option. This can use be used in combination with the -u option, to add or strip the documentation from an existing configuration file. To get a minimal configuration file use the -x or -x_noenv option to show only the differences from the default doxygen configuration file. Please use the -s or -x or -x_noenv option if you send me a configuration file as part of a bug report or post an issue on GitHub! (see also: How to report a bug)
  • To make doxygen read/write to standard input/output instead of from/to a file, use - for the file name.

Go to the next section or return to the index.