Doxygen Icon

Doxygen

Generate documentation from source code.

DoxygenOverview

Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D.

Doxygen can help you in three ways:
  • It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in $mbox{LaTeX}$) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.
  • You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. Doxygen can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
  • You can also use doxygen for creating normal documentation (as I did for the doxygen user manual and web-site).
Note: While the software is classified as free, it is actually donationware. Please consider making a donation to help support development.

NEW

  • Bug 436885 - c-source and h-source missing for latex
  • Bug 625601 - FORTRAN: recognition free versus fixed formatted code
  • Bug 626172 - Latex $projectname with "&" gets no escaped
  • Bug 643618 - Fortran: variable with name "type" confuses Doxygen
  • Bug 674851 - Percent to prevent auto-linking in page title is not removed for navpath
  • Bug 678436 - Nested if messes up list items
  • Bug 678436 - Nested if messes up list items
  • Bug 683115 - Command ignored when using umlauts in markdown and also C-comments in markdown didn't work properly
  • Bug 692985 - Notes in xml output are not correctly separated
  • Bug 705220 - Enables using unicode (non ASCII) to name output files
  • Bug 705499 - Nested namespace causes incorrect display when referenced via .tag file
  • Bug 712251 - Documentation for enumeration not generated
  • Bug 720691 - Code coloring in case of file without extension
  • Bug 721032 - Trouble with /cond /endcond
  • Bug 721169 - Wrong call graph in simple situation
  • Bug 721302 - [Latex/PDF] Merging brief and detailed description in file section
  • Bug 721462 - Parsing problem with C++11 empty initializer lists
  • Bug 721618 - Move contructors and move assignment operators of embedded classes of template classes cannot be matched.
  • Bug 721878 - Dia diagrams not displayed by Firefox
  • Bug 722457 - regression referencing namespaced type
  • Bug 722603 - doxygen nested if endif sample not working
  • Bug 722619 - doxygen 1.8.6 sorts the contents of a namespace by group within the Class List
  • Bug 722711 - Link refs with no title swallow an extra newline
  • Bug 722759 - Documentation for derived classes no longer has an "Additional Inherited Members" section after upgrading Doxygen from 1.8.3.1 to 1.8.6
  • Bug 722786 - configure --prefix=/opt/foo not accepted
  • Bug 722788 - Command | not working when last character in markdown table line
  • Bug 723299 - Last line of code block lost if it is only one character and there is no text afterward
  • Bug 723314 - Doxygen crashes on incorrect end group /**< @} */
  • Bug 723516 - star is not printed in code environment
  • Bug 724241 - Internal inconsistency: namespace in IDL
  • Bug 724949 - Server side (PHP) search broke in 1.8.3
  • Bug 726219 - python3 import style causes doxygen to ignore some inheritances
  • Bug 726294 - Markdown Extra - fenced code block: '>' before tab width parsed as block quote
  • Bug 726469 - Tilde sign in combination with and MARKDOWN_SUPPORT disabled
  • Bug 726722 - Blockquote followed by text inserts an extra paragraph
  • Bug 726734 - alignment of blockquotes in pdf
  • Bug 728077 - Build fails when --with-libclang on Fedora
  • Bug 728530 - Crash on addindex term
  • A new files have been added but is not incorporated in the windows build part
  • Add docbook directory to be removed as well
  • Add extra (documenattion) directories to ignore pattern
  • Add index support to context
  • Add line numbers in case comment is not closed properly.
  • Add template context for annotated class index
  • Add validation of internal consistency to html entity mapper
  • Add warning when encountering a nested comment start (/*) without matching end (*/).
  • Added latexinclude command (thanks to Juan Zaratiegui for the patch)
  • Added basic arithmetic operations to the template expressions, and made the expression lexer faster
  • Added dir tree nodes to the context
  • Added directory info to the context
  • Added doc/config.doc to .gitignore
  • Added language update for Swedish (thanks to Björn Palmqvist)
  • Added last and first attributes to index tree node
  • Added missing + command to build LaTeX manual
  • Added new language maintainer for Swedish, removed generated file language.doc
  • Added optional [block] option to htmlonly
  • Added reference counting for all context objects
  • Added stricter URL filtering to prevent DOM Based XSS when the tree view is enabled
  • Added support for -- and --- to prevent interpretation as ndash and mdash
  • Added support for elif to the template language
  • Added support for range tag in the template language
  • Alterative way to get rules information from flex
  • Better message in case doxygen -u is used
  • Changed "See Also" back to "See also"
  • Chm don't add images multiple times
  • Command /< and /> are not properly shown in section headers (and consequently in index)
  • Consistency of usage of the word LaTeX in the documentation
  • Context enhancement
  • Corrected some definitions for some Fortran keywords
  • Disabled config dependency check to avoid regression
  • Documentation corrections
  • Enable Previous and Next buttons in chm output file
  • Enabling possibility to have { and } in (latex) index items
  • Error message is given for make distclean as generated_src is a directory
  • Extension in config.xml if type=string with format=image
  • Extension specific filtering
  • Fix id parsing for atx markdown headers
  • Fix segfault on invalid bounding FIG when patching dot
  • Fix to VHDL scanner.
  • Fix typos in russian translation
  • Fixed Tidy's 'empty span' warning in HTML output
  • Fixed compiler warnings in section.h
  • Fixed difference between generated XML schema and XML files for HTML entities
  • Fixed issues with @parblock and added regression test case
  • Fixed issues with SEPARATE_MEMBER_PAGES and INLINE_SIMPLE_STRUCTS
  • Fixed memory leak in nested comment administration
  • Fixed off-by one error for last character in compound.xsd
  • Fixed potential crash caused by overloading the variadic warn function
  • Fixed problem handling Obj-C protocol list when proceeded by a newline
  • Fixed problem with ending a paragraph when htmlonly was at the end of a comment block
  • Fixed typo in changelog
  • Fixed typo in doxyindexer.vcproj
  • Fixes for missing build dependencies
  • Give message when PROJECT_LOGO cannot be found or cannot be converted
  • Handlingh of -- by c and results in - adjusted documentation
  • Improve rendering of sub and superscripts in LaTeX
  • Improved handling of percent symbol
  • Improved performance of rendering large index pages, by replacing images in the tables by spans
  • In case of sections with the same name they are not reported.
  • Inconsistency in usage of simplesecr versus simplesectsep corrected
  • Inconsistency in usage of simplesecr versus simplesectsep corrected
  • Incorrect handling dependencies
  • Items XML_SCHEMA and XML_DTD declared obsolete
  • List only the project pages in "Related Pages"
  • Made documentation more consistent
  • Make sure all ids in g_linkRefs are lower case
  • Make the MAN_SUBDIR setting overide the name of the directry the man pages are placed in.
  • Meta tag in the HTML search page was not closed properly
  • Minor fixes for the new build locations
  • Missing & and chars after " in tree of chm documentation
  • More context changes
  • More work on the template and context mechanisms
  • On windows citelist.doc remains
  • Place where dot executable is found
  • Properly escape the XCODE path.
  • Pull out property names in Objective-C.
  • Recognize all HTML4 special character entities
  • Reduced and improved functionality of QList
  • Removed config.doc as it is generated by configgen.py
  • Removed generated file src/settings.h from source repository
  • Removed message, minor restructuring
  • Removed remark about installdox from the FAQ
  • Restructered html entity handling
  • Reverted #132 after submitter reported that it did not work
  • Showing error message on windows in case on error on startup
  • Simplified LaTeX header/footer escaping
  • Some restructuring and some compiler warning fixes
  • Spitting generated files better from source files
  • Superfluous < sign
  • Superfluous backslash in documentation
  • Superfluous include removed
  • Undo previous commit
  • Unified DirFileContext and NestingContext
  • Update doctokenizer.l
  • Update doctokenizer.l
  • Updated copyright
  • Use newline i.s.o. par for linebreaks in LaTeX
  • Use hook arrow for hyphens in symbol names in the LaTeX output.
  • Wrong UTF 8 codes
  • Fix broken links to subpages in LaTeX output
  • xmlonly aoppeared twice in see also section of htmlonly and docbookonly
  • add css-escape to avoid jquery based xss
  • add parameter
  • add search.py, a client for doxygen_sqlite3.db
  • add space between br and / for better compatibility
  • added option to have numbers in the bookmark pane (PDF output)
  • config.l: dependency checks for booleans
  • detect python2 as Python 2 binary
  • fixed compile issue on Linux
  • pass libclang header file location; add paths for Ubuntu's llvm-3.4
  • sqlite3: SQLITE_TRANSIENTs
  • sqlite3: add new searches to search.py
  • sqlite3: clear bindings on errors and more care with return
  • sqlite3: extract more info
  • sqlite3: fedora has libsqlite3.so in /usr/lib64
  • sqlite3: leave out insertMemberReference until xref location is valid
  • sqlite3: remove some debug messages
  • sqlite3: speedup the SELECTs
  • sqlite3: updates
  • sqlite3: use the new qtools API
  • testsqlite3: a test for sqlite3gen
  • util/patternMatch: break when pattern is found
  • util/patternMatch: don't extract a QCString(QFileInfo) each time we QRegExp.match

DoxygenInformation

Version
1.8.7
Date
04.24.14
License
Free
Language
English
File Size
56.1 MB
Category
SubCategory
Operating Systems
Mac OS X
System Requirements
Intel, OS X 10.5 or later
SmartGit Icon
Graphical front-end for Git, the distributed version control system.
Trial
ActiveTcl Icon
Complete and ready-to-install Tcl distribution.
Free
LiveCode Icon
Create iOS applications quickly and easily.
Trial
GitX Icon
Git GUI specifically for Mac OS X.
Free
DB Browser for SQLite Icon
Create database files compatible with SQLite (was SQLite Database Browser).
Free
MapSpinner Icon
Create clickable HTML image maps without writing code.
Demo
Tower Icon
Version control with Git made easy.
Trial
GitHub Icon
Synchronize branches, clone repositories, and more.
Free
More