Difference between revisions of "Development/Tools/apidox"

Jump to: navigation, search
(add info on how to build man pages for Qt)
m (Text replace - "</code>" to "</syntaxhighlight>")
 
(10 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Intro ==
 
 
The KDE project uses [http://www.doxygen.org doxygen] to generate API documentation from source code.
 
The KDE project uses [http://www.doxygen.org doxygen] to generate API documentation from source code.
  
Line 7: Line 6:
 
== Generating ==
 
== Generating ==
 
===HTML pages===
 
===HTML pages===
Generate apidox in html using {{program|kdedoxygen.sh}}:
+
Generate apidox in the KDE format using
<code>
+
<syntaxhighlight lang="text">
 +
% cd html_dir
 +
% /path/to/trunk/KDE/kdelibs/doc/api/doxygen.sh --recurse \
 +
    --doxdatadir=/path/to/trunk/KDE/kdelibs/doc/common \
 +
    /path/to/trunk/KDE/kdelibs
 +
</syntaxhighlight>
 +
 
 +
Notes:
 +
 
 +
* You must type the paths in full - the script doesn't understand tilde ('~') representing your home directory.  However, you can use the $HOME environment variable instead.
 +
 
 +
* The QTDOCDIR environment variable should point to the html folder of the Qt documentation.  If QTDOCDIR is not set, doxygen.sh will try to find the documentation based on the value of QTDIR.
 +
 
 +
To generate documentation in {{program|doxygen}} style instead of KDE style, use {{program|kdedoxygen.sh}}:
 +
<syntaxhighlight lang="text">
 
% cd source_dir
 
% cd source_dir
 
% /path/to/trunk/KDE/kdesdk/scripts/kdedoxygen.sh
 
% /path/to/trunk/KDE/kdesdk/scripts/kdedoxygen.sh
</code>
+
</syntaxhighlight>
  
 
You'll find the top-level html at {{path|./apidocs/html/index.html}}
 
You'll find the top-level html at {{path|./apidocs/html/index.html}}
Line 23: Line 36:
 
Man page lovers can generate man pages using {{program|kdedoxyman.sh}}
 
Man page lovers can generate man pages using {{program|kdedoxyman.sh}}
 
Like so:
 
Like so:
<code>
+
<syntaxhighlight lang="text">
 
% cd source_dir
 
% cd source_dir
% /path/to/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/to/kdeinstall/share
+
% /path/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/kdeinstall/share
</code>
+
</syntaxhighlight>
 
+
<br>
 
You can also generate man pages from Qt source code using {{program|kdedoxyman.sh}}:
 
You can also generate man pages from Qt source code using {{program|kdedoxyman.sh}}:
<code>
+
<syntaxhighlight lang="text">
 
% cd qt-copy/src
 
% cd qt-copy/src
% /path/to/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/to/kdeinstall/share
+
% /path/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/kdeinstall/share
</code>
+
</syntaxhighlight>
 +
<br>
 +
and then add {{path|/path/kdeinstall/share/man}} to your $MANPATH environment variable.
 +
 
 +
===Qt Assistant===
 +
If you like to view API documentation with Qt's {{program|assistant}}, then you can generate the necessary 'qch' files using {{program|kdedoxyqt.sh}}.
 +
 
 +
Note that {{program|kdedoxyqt.sh}} requires {{program|doxygen}} as well as {{program|qhelpgenerator}} from the Qt toolkit.
 +
 
 +
{{warning|doxygen v1.5.7 or above is required.}}
 +
 
 +
To use:
 +
<pre>
 +
% cd source_dir
 +
% /path/trunk/KDE/kdesdk/scripts/kdedoxyqt.sh
 +
[wait]
 +
</pre>
 +
 
 +
You should now have a file called apidocs/qch/KDE-4.2.qch in this current working directory. Copy KDE-4.2.qch some place for safe keeping.
  
and then add {{path|/path/to/kdeinstall/share/man}} to your $MANPATH environment variable.
+
Now, start {{program|assistant}}.  Go into Edit->Preferences->Documentation
 +
and add the safe copy of KDE-4.2.qch into the db.

Latest revision as of 21:50, 29 June 2011

The KDE project uses doxygen to generate API documentation from source code.

Please see our documentation policy and tutorial.

Contents

[edit] Generating

[edit] HTML pages

Generate apidox in the KDE format using

% cd html_dir
% /path/to/trunk/KDE/kdelibs/doc/api/doxygen.sh --recurse \
    --doxdatadir=/path/to/trunk/KDE/kdelibs/doc/common \
    /path/to/trunk/KDE/kdelibs

Notes:

  • You must type the paths in full - the script doesn't understand tilde ('~') representing your home directory. However, you can use the $HOME environment variable instead.
  • The QTDOCDIR environment variable should point to the html folder of the Qt documentation. If QTDOCDIR is not set, doxygen.sh will try to find the documentation based on the value of QTDIR.

To generate documentation in doxygen style instead of KDE style, use kdedoxygen.sh:

% cd source_dir
% /path/to/trunk/KDE/kdesdk/scripts/kdedoxygen.sh

You'll find the top-level html at ./apidocs/html/index.html Load that page into your favorite web browser, review your documentation, then edit your code accordingly.

Warnings from doxygen will be found in ./doxygen.log. Please try to fix all warnings reported by doxygen.

[edit] Man pages

Man page lovers can generate man pages using kdedoxyman.sh Like so:

% cd source_dir
% /path/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/kdeinstall/share


You can also generate man pages from Qt source code using kdedoxyman.sh:

% cd qt-copy/src
% /path/trunk/KDE/kdesdk/scripts/kdedoxyman.sh -d /path/kdeinstall/share


and then add /path/kdeinstall/share/man to your $MANPATH environment variable.

[edit] Qt Assistant

If you like to view API documentation with Qt's assistant, then you can generate the necessary 'qch' files using kdedoxyqt.sh.

Note that kdedoxyqt.sh requires doxygen as well as qhelpgenerator from the Qt toolkit.

noframe
 
Warning
doxygen v1.5.7 or above is required.


To use:

% cd source_dir
% /path/trunk/KDE/kdesdk/scripts/kdedoxyqt.sh
[wait]

You should now have a file called apidocs/qch/KDE-4.2.qch in this current working directory. Copy KDE-4.2.qch some place for safe keeping.

Now, start assistant. Go into Edit->Preferences->Documentation and add the safe copy of KDE-4.2.qch into the db.


This page was last modified on 29 June 2011, at 21:50. This page has been accessed 13,240 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal