How to install Doxygen on Ubuntu

Doxygen is the de facto regular tool for generating documentation from annotated C++ sources, however, it additionally supports different wellknown programming languages akin to C, objective-C, C#, Hypertext Preprocessor, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL and Tcl. This article explains about-“how to install Doxygen on Ubuntu”
To install Doxygen, use the following command –
$ sudo apt-get install doxygen
The sample output should be like this –
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
   libterm-readkey-perl linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic
   linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
   linux-signed-image-4.4.0-31-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
   libclang1-3.6 libllvm3.6v5 libobjc-5-dev libobjc4
Suggested packages:
   doxygen-latex doxygen-doc doxygen-gui graphviz
The following NEW packages will be installed:
   doxygen libclang1-3.6 libllvm3.6v5 libobjc-5-dev libobjc4
0 upgraded, 5 newly installed, 0 to remove and 26 not upgraded.
Need to get 15.9 MB of archives.
After this operation, 64.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libllvm3.6v5 amd64 1:3.6.2-3ubuntu2 [8,075 kB]
Get:2 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libobjc4 amd64 5.4.0-6ubuntu1~16.04.4 [111 kB]
Get:3 http://in.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libobjc-5-dev amd64 5.4.0-6ubuntu1~16.04.4 [380 kB]
Get:4 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libclang1-3.6 amd64 1:3.6.2-3ubuntu2 [3,696 kB]
Get:5 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 doxygen amd64 1.8.11-1 [3,679 kB]
.........................................................................................
To get the more information about Doxygen, use the following command –
$ doxygen --help
The sample output should be like this-
Doxygen version 1.8.11
Copyright Dimitri van Heesch 1997-2015

You can use doxygen in a number of ways:

1) Use doxygen to generate a template configuration file:
   doxygen [-s] -g [configName]

   If - is used for configName doxygen will write to standard output.

2) Use doxygen to update an old configuration file:
   doxygen [-s] -u [configName]

3) Use doxygen to generate documentation using an existing configuration file:
   doxygen [configName]

   If - is used for configName doxygen will read from standard input.

4) Use doxygen to generate a template file controlling the layout of the
generated documentation:
   doxygen -l [layoutFileName.xml]

5) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.
   RTF: doxygen -w rtf styleSheetFile
   HTML: doxygen -w html headerFile footerFile styleSheetFile [configFile]
   LaTeX: doxygen -w latex headerFile footerFile styleSheetFile [configFile]

6) Use doxygen to generate a rtf extensions file
   RTF: doxygen -e rtf extensionsFile
........................................................................
To generate documentation of source code, use the following code-
$ doxygen -g sample_text.conf
In the above command, it has generated a file called sample_text.conf which contains the following code as shown below –
# Doxyfile 1.8.11

# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").

#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------

..................................................................................
To generate the documentation, use the following command –
$ doxygen sample_text.conf
The sample output should be like this –
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory /home/linux
warning: source /home/linux/.dbus is not a readable file or directory... skipping.
Reading and parsing tag files
Parsing files
Preprocessing /home/linux/abc.txt...
Parsing file /home/linux/abc.txt...
Preprocessing /home/linux/bbc.txt...
Parsing file /home/linux/bbc.txt...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Associating documentation with classes...
Computing nesting relations for classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
................................................................
To browse the HTML-formatted documentation, use the following command –
$ cd html
/html$ google-chrome index.html
The sample output should be like this –
After this article, you will be able to understand – How to install Doxygen on Ubuntu. In our next articles, we will come up with more Linux based tricks and tips. Keep reading!