In this article, I will take you through the steps to install Doxygen on Ubuntu 20.04 LTS (Focal Fossa). Doxygen is a free and open source documentation generator and static analysis tools for software sources trees. Doxygen not only supports 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, and to some extent D. It also supports the hardware description language VHDL. Doxygen is developed for Mac OS and Linux but is known to be highly portable. More on official website. Here we will see the steps to install Doxygen on Ubuntu 20.04 LTS.
How to Install Doxygen on Ubuntu 20.04 LTS (Focal Fossa)
Also Read: How to Install Grunt on Ubuntu 20.04 LTS Using 5 Easy Steps
Step 1: Prerequisites
a) You should have a running
Ubuntu 20.04 LTS Server.
b) You should have
root access to run privileged commands.
c) You should have
apt utility available in your System.
Step 2: Update Your Server
First you need to update the Server by using
sudo apt update command as shown below.
cyberithub@ubuntu:~$ sudo apt update Hit:1 http://in.archive.ubuntu.com/ubuntu focal InRelease Hit:2 http://in.archive.ubuntu.com/ubuntu focal-updates InRelease Get:3 https://dl.google.com/linux/chrome/deb stable InRelease [1,811 B] Hit:4 http://in.archive.ubuntu.com/ubuntu focal-backports InRelease Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Get:6 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1,081 B] Get:7 http://security.ubuntu.com/ubuntu focal-security/main amd64 DEP-11 Metadata [40.7 kB] Get:8 http://security.ubuntu.com/ubuntu focal-security/universe amd64 DEP-11 Metadata [66.6 kB] Get:9 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 DEP-11 Metadata [2,468 B] Fetched 226 kB in 2s (146 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 1 package can be upgraded. Run 'apt list --upgradable' to see it.
If any of the packages needs to be upgraded then run
sudo apt upgrade command as well as shown below.
cyberithub@ubuntu:~$ sudo apt upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: libfwupdplugin1 linux-headers-5.8.0-41-generic linux-hwe-5.8-headers-5.8.0-41 linux-image-5.8.0-41-generic linux-modules-5.8.0-41-generic linux-modules-extra-5.8.0-41-generic Use 'sudo apt autoremove' to remove them. The following packages will be upgraded: google-chrome-stable 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 89.6 MB of archives. After this operation, 12.6 MB of additional disk space will be used. Do you want to continue? [Y/n] Y ................................
Step 3: Install Doxygen
Next step is to install Doxygen by using
sudo apt install doxygen command as shown below. This command will download and install the package along with all its dependencies from default Ubuntu repo.
cyberithub@ubuntu:~$ sudo apt install doxygen Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libfwupdplugin1 linux-headers-5.8.0-41-generic linux-hwe-5.8-headers-5.8.0-41 linux-image-5.8.0-41-generic linux-modules-5.8.0-41-generic linux-modules-extra-5.8.0-41-generic Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libclang1-10 libllvm10 libxapian30 Suggested packages: doxygen-latex doxygen-doc doxygen-gui graphviz xapian-tools The following NEW packages will be installed: doxygen libclang1-10 libllvm10 libxapian30 0 upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 33.2 MB of archives. After this operation, 154 MB of additional disk space will be used. Do you want to continue? [Y/n] Y ..........................
Step 4: Check Version
After successful installation, you can check the current installed version by using
doxygen --version command as shown below.
cyberithub@ubuntu:~$ doxygen --version 1.8.17
Step 5: Generate Documentation
First you need to create configuration file of your source code by using
doxygen -g <file> syntax. In this example, we are generating configuration file
doxygen -g sample.conf command as shown below.
cyberithub@ubuntu:~$ doxygen -g sample.conf Configuration file 'sample.conf' created. Now edit the configuration file and enter doxygen sample.conf to generate the documentation for your project
Once the configuration file is edited, you can generate the documentation for your project by running
doxygen sample.conf command as shown below.
cyberithub@ubuntu:~$ doxygen sample.conf 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/cyberithub Reading and parsing tag files Parsing files Building group list... Building directory list... Building namespace list... Building file list... Building class list... Computing nesting relations for classes... Associating documentation with 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... Building member list... Searching for friends... Searching for documented defines... Computing class inheritance relations... Computing class usage relations... Flushing cached template relations that have become invalid... Computing class relations... Add enum values to enums... Searching for member function documentation... Creating members for template instances... Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... .........................................
Step 6: Check all the available options
To check all the options available with doxygen command, you need to use
doxygen --help command as shown below.
cyberithub@ubuntu:~$ doxygen --help Doxygen version 1.8.17 Copyright Dimitri van Heesch 1997-2019 You can use doxygen in a number of ways: 1) Use doxygen to generate a template configuration file: doxygen [-s] -g [configName] 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] 4) Use doxygen to generate a template file controlling the layout of the generated documentation: doxygen -l [layoutFileName] .............................................