If your project depends on external libraries or tools, there are several reasons to not include all sources for these with every run of doxygen:
If any of the above apply, you can use doxygen's tag file mechanism. A tag file is basically a compact representation of the entities found in the external sources. Doxygen can both generate and read tag files.
To generate a tag file for your project, simply put the name of the tag file after the GENERATE_TAGFILE option in the configuration file.
To combine the output of one or more external projects with your own project you should specify the name of the tag files after the TAGFILES option in the configuration file.
A tag file does not contain information about where the external documentation is located. This could be a directory or an URL. So when you include a tag file you have to specify where the external documentation is located. There are two ways to do this:
proj
that uses two external projects called ext1
and ext2
. The directory structure looks as follows:
<root> +- proj | +- html HTML output directory for proj | +- src sources for proj | |- proj.cpp +- ext1 | +- html HTML output directory for ext1 | |- ext1.tag tag file for ext1 +- ext2 | +- html HTML output directory for ext2 | |- ext2.tag tag file for ext2 |- proj.cfg doxygen configuration file for proj |- ext1.cfg doxygen configuration file for ext1 |- ext2.cfg doxygen configuration file for ext2
Then the relevant parts of the configuration files look as follows:
proj.cfg:
OUTPUT_DIRECTORY = proj INPUT = proj/src TAGFILES = ext1/ext1.tag=../../ext1/html \ ext2/ext2.tag=../../ext2/html
OUTPUT_DIRECTORY = ext1 GENERATE_TAGFILE = ext1/ext1.tag
OUTPUT_DIRECTORY = ext2 GENERATE_TAGFILE = ext2/ext2.tag
The tool doxytag
depends on the particular structure of the generated output and on some special markers that are generated by doxygen. Since this type of extraction is brittle and error prone I suggest you to only use this approach if there is no alternative. The doxytag tool may even become obsolete in the future.
Go to the next section or return to the index.