What is this part?
------------------

This is the Doxygen part. It integrates Doxygen - http://www.doxygen.org into
KDevelop. It allows you to call the Doxygen executable from a KDevelop menu.
It integrates a GUI into the "KDevelop Project Configuration dialog" to
configure Doxygen (it reads and writes Doxygen Conpatible configuration files).


Current Maintainer(s):
----------------------
Amilcar Lucas       a.lucas at tu-bs dot de


Features:
---------

- Call Doxygen executable from a KDevelop menu.
- Configure Doxygen inside KDevelop.
- Create a configuration file with correct ProjectName, Author, Version and
  location of source files whenever a new project KDevelop is created.
- Automaticaly generate a Doxygen search database whenever you "Run Doxygen"
  and the "search engine" option in Doxygen configuration is activated.


Requirements:
-------------

You need to install the Doxygen binaries in your machine. This part supports
all versions up to the version stated on the version.cpp file. As usual it is
recomended to use the latest version.
It is recomended that you also install dot (tool to generate graphical
dependencies).


Caveats and known bugs:
-----------------------
- It doesn't resize the configuration GUI properly.


To update to a newer doxygen version:
-------------------------------------

1. Merge over the config.h and config.cpp files from the addon/doxywizard/
   directory in the doxygen sources.
   You'll need:
     GNU bison v1.34 or better
     GNU flex v2.5.4 or better
     Kompare from KDEsdk

   You'll have to issue:
       $ ./configure --with-doxywizard && make
   to get the config.h and config.cpp files on this directory.
   You should also copy config.l if you'd like to do some debugging.

   To do the merge on config.cpp you should use:
       $ kompare doxygen-location/addon/doxywizard/config.cpp  kdevelop-location/parts/doxygen/config.cpp
   -Be careful because doxygen uses the deprecated QList class while KDevelop
   uses the new QPtrList so you should not merge certain lines of code!!!
   -Be careful because doxygen uses the deprecated QRegExp::match() method while
   KDevelop uses the new QRegExp::search() and QRegExp::matchedLength() mehtods
   instead so you should not merge certain lines of code!!!
   - Be careful because KDevlop uses the QFile::encodeName() function and the
   original doxygen code doesn't. So do NOT delete the QFile::encodeName() calls.

   To do the merge on config.h you should use:
          $ kompare doxygen-location/addon/doxywizard/config.h    kdevelop-location/parts/doxygen/config.h
   -Again, be careful because doxygen uses the deprecated QList class while KDevelop
   uses the new QPtrList so you should not merge certain lines of code!!!


2. Copy over the file lang_cfg.h from the src/ directory in the doxygen sources.

3. Add the new i18n strings to messages.cpp.
   To do so, run KDevelop and go to Project-> Project Options -> Doxygen.
   Take a look at KDevelop' console output, it will warn you about the missing
   messages. Add them to messages.cpp file.

4. Update version.cpp

5. Add anything else you needed to do, to get it to compile, to this README file.


Everything else we can customize for our look & feel.
