Using Doxygen for API documentation

Version 10 (Trond Lossius, 2012-08-27 02:01 pm)

1 6 Trond Lossius
h1. Using Doxygen for API Documentation
2 1 Trond Lossius
3 1 Trond Lossius
"Doxygen":http://www.stack.nl/~dimitri/doxygen/ is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. It is used for documenting parts of the source code for the various Jamoma projects, although not as much as we would like to...
4 1 Trond Lossius
5 4 Trond Lossius
h2. Setting up Doxygen
6 4 Trond Lossius
7 1 Trond Lossius
To use it, you will have to download and install:
8 1 Trond Lossius
9 1 Trond Lossius
* "Doxygen":http://www.stack.nl/~dimitri/doxygen/ - version  1.6.0 or later
10 1 Trond Lossius
* Graphviz
11 7 Trond Lossius
** "Graphviz for Mac OSX":http://www.ryandesign.com/graphviz/ - we currently use version 2.14.1. Instructions on how to set up Graphviz with Mountain Lion can be found below.
12 1 Trond Lossius
** "graphviz for "Windows":http://www.graphviz.org/Download_windows.php
13 1 Trond Lossius
14 1 Trond Lossius
h2. Generating Doxygen documentation
15 1 Trond Lossius
16 3 Trond Lossius
_This description was written using Mac, but hopefully it is similar on Windows._
17 1 Trond Lossius
18 1 Trond Lossius
# Open the Doxygen application
19 1 Trond Lossius
# From the *File* menu, choose *Open...* and inside your local clone of the GIT repository locate e.g. @/Modules/Foundations/documentation/Doxfile@
20 1 Trond Lossius
# All settings should be fine, so go to the *Run* tab and click the *Run doxygen* button. If you have generated documentation previously, you might want to throw out the @/Modules/Foundations/documentation/html/@ folder first.
21 1 Trond Lossius
22 1 Trond Lossius
h2. Using Doxygen documentation
23 5 Trond Lossius
24 5 Trond Lossius
* A number of articles on Doxygen can be found "here":http://www.stack.nl/~dimitri/doxygen/articles.html.
25 1 Trond Lossius
* Online Doxygen documentation of the Jamoma projects is available "here":http://www.jamoma.org/api-documentation/index.html.
26 7 Trond Lossius
27 7 Trond Lossius
h2. Setting up Graphviz with OSX Mountain Lion
28 7 Trond Lossius
29 7 Trond Lossius
# Open Terminal and type @which dot@
30 7 Trond Lossius
# If you get a reply to this, Graphviz is already installed.
31 7 Trond Lossius
# If not you can install it using either Homebrew or MacPorts.
32 7 Trond Lossius
## Homebrew:
33 7 Trond Lossius
### Install homebrew according to instructions "here":http://mxcl.github.com/homebrew/.
34 7 Trond Lossius
### Install Graphviz by running the terminal command @brew install graphviz@
35 7 Trond Lossius
## MacPorts:
36 7 Trond Lossius
### Install macPorts according to instructions "here":http://www.macports.org.
37 7 Trond Lossius
### Remember to run the command @sudo port selfupdate@
38 7 Trond Lossius
### Install Graphviz using the command @sudo port install graphviz@
39 7 Trond Lossius
# Once Graphviz is installed you'll need to tell Doxygen where to look for it:
40 7 Trond Lossius
## IN Terminal, type the command @which dot@
41 8 Trond Lossius
## In Doxygen, provide the path to Graphviz as illustrated below:
42 8 Trond Lossius
43 10 Trond Lossius
!h1. Using Doxygen for API Documentation
44 10 Trond Lossius
45 10 Trond Lossius
"Doxygen":http://www.stack.nl/~dimitri/doxygen/ is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. It is used for documenting parts of the source code for the various Jamoma projects, although not as much as we would like to...
46 10 Trond Lossius
47 10 Trond Lossius
h2. Setting up Doxygen
48 10 Trond Lossius
49 10 Trond Lossius
To use it, you will have to download and install:
50 10 Trond Lossius
51 10 Trond Lossius
* "Doxygen":http://www.stack.nl/~dimitri/doxygen/ - version  1.6.0 or later
52 10 Trond Lossius
* Graphviz
53 10 Trond Lossius
** "Graphviz for Mac OSX":http://www.ryandesign.com/graphviz/ - we currently use version 2.14.1. Instructions on how to set up Graphviz with Mountain Lion can be found below.
54 10 Trond Lossius
** "graphviz for "Windows":http://www.graphviz.org/Download_windows.php
55 10 Trond Lossius
56 10 Trond Lossius
h2. Generating Doxygen documentation
57 10 Trond Lossius
58 10 Trond Lossius
_This description was written using Mac, but hopefully it is similar on Windows._
59 10 Trond Lossius
60 10 Trond Lossius
# Open the Doxygen application
61 10 Trond Lossius
# From the *File* menu, choose *Open...* and inside your local clone of the GIT repository locate e.g. @/Modules/Foundations/documentation/Doxfile@
62 10 Trond Lossius
# All settings should be fine, so go to the *Run* tab and click the *Run doxygen* button. If you have generated documentation previously, you might want to throw out the @/Modules/Foundations/documentation/html/@ folder first.
63 10 Trond Lossius
64 10 Trond Lossius
h2. Using Doxygen documentation
65 10 Trond Lossius
66 10 Trond Lossius
* A number of articles on Doxygen can be found "here":http://www.stack.nl/~dimitri/doxygen/articles.html.
67 10 Trond Lossius
* Online Doxygen documentation of the Jamoma projects is available "here":http://www.jamoma.org/api-documentation/index.html.
68 10 Trond Lossius
69 10 Trond Lossius
h2. Setting up Graphviz with OSX Mountain Lion
70 10 Trond Lossius
71 10 Trond Lossius
# Open Terminal and type @which dot@
72 10 Trond Lossius
# If you get a reply to this, Graphviz is already installed.
73 10 Trond Lossius
# If not you can install it using either Homebrew or MacPorts.
74 10 Trond Lossius
## Homebrew:
75 10 Trond Lossius
### Install homebrew according to instructions "here":http://mxcl.github.com/homebrew/.
76 10 Trond Lossius
### Install Graphviz by running the terminal command @brew install graphviz@
77 10 Trond Lossius
## MacPorts:
78 10 Trond Lossius
### Install macPorts according to instructions "here":http://www.macports.org.
79 10 Trond Lossius
### Remember to run the command @sudo port selfupdate@
80 10 Trond Lossius
### Install Graphviz using the command @sudo port install graphviz@
81 10 Trond Lossius
# Once Graphviz is installed you'll need to tell Doxygen where to look for it:
82 10 Trond Lossius
## IN Terminal, type the command @which dot@
83 10 Trond Lossius
## In Doxygen, provide the path to Graphviz as illustrated below:
84 10 Trond Lossius
85 10 Trond Lossius
!{width:80%25}http://redmine.jamoma.org/attachments/177/Screen_Shot_2012-08-27_at_1.57.04_PM.png!