diff -r 000000000000 -r 42188c7ea2d9 Orb/Doxygen/doc/doxysearch_usage.doc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orb/Doxygen/doc/doxysearch_usage.doc Thu Jan 21 17:29:01 2010 +0000
@@ -0,0 +1,180 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2003 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+/*! \page doxysearch_usage Doxysearch usage
+
+Doxysearch is a small, fast and highly portable search engine that allows
+you to search for strings or words in the documentation generated by
+doxygen or
+in the Qt documentation (see below).
+Doxysearch must be run as a CGI binary. This implies the following:
+
+- There must be a HTTP daemon running on the system where you want to
+ install the documentation (the target)
+
- You must have permission to install and execute a CGI binary on the
+ target.
+
+Ask your system administrator or provider if you are unsure if this is possible.
+
+In order to be able to search fast and efficient, doxysearch does not
+search the generated documentation directly. Instead, it uses an
+index file, that should be generated with
+doxytag. The index file is extracted from
+the generated HTML files and contains all words and substrings of words
+present in the HTML files, in a compact form, together with their
+frequencies and links. Although I tried to store all information
+as compactly as possible, the size of the index is still quite large.
+Usually it is about the same size as the original HTML files.
+
+I have tried to make the search engine highly portable, because it
+must run on the target system. As a result doxysearch does not require the
+Qt library. All that is required to build doxysearch is a C++ compiler.
+If you are using \c g++ for example, you can build the search engine manually,
+by typing:
+\verbatim
+ g++ doxysearch.cpp -o doxysearch
+\endverbatim
+
+
+Generating the search engine
+
+To include a search engine in the documentation generated by doxygen
+follow these steps:
+
+- Generate a configuration file with
+ doxygen using the
+
-g
option, if you haven't done this already.
+
+ - Edit the search engine section (see section \ref config_search of
+ the configuration file).
+ Make sure the \c SEARCHENGINE tag is set to \c YES
+ and that all paths are correct.
+
+
- Use doxygen to generate the
+ documentation. Apart from the documentation, Doxygen will create the
+ following files:
+
+ - A small shell script. The name of the script is determined by the
+ \c CGI_NAME tag in the configuration file.
+ The script is a small wrapper that calls \c doxysearch with
+ the correct parameters. Using this script allows multiple
+ search engines for different projects to be present in one directory.
+
- \c search.cfg: this file is a small configuration file
+ for the search engine. It contains two lines of text. The first line
+ should be the absolute URL to the documentation. The second line should
+ be the absolute URL to the CGI script. This information is taken from
+ the configuration file.
+
- \c search.gif: this is the image that is used for the search button.
+
+
+ \par Note:
+ On the Windows platform Unix shell scripts cannot be used.
+ In fact the HTTP daemon that I tried (apache for Windows) only
+ recognized .cgi
files that were renamed
+ executables (so DOS batch files do not seem to work either). Therefore,
+ on Windows a small C program will be generated by doxygen.
+ You should compile and link the program with your favourite
+ compiler and change the extension of the executable from
+ .exe
to .cgi
.
+
+ - Copy (or move) the CGI script to the directory where the CGI binaries
+ are located.
+ This is usually a special directory on your system or in your
+ home directory.
+ Consult the manual of your HTTP daemon or your system administrator to
+ find out where this directory resides on your system.
+
+
- Go to the directory where the generated HTML files are located and run
+ doxytag as follows:
+
doxytag -s search.idx
+ This will create a search index with the name search.idx
.
+ Currently the index file must be called like this.
+
+ - If you change the location of the search engine or the documentation
+ and you do not want to regenerate the HTML output, you can simply edit
+ the generated search.cfg file and run the generated
+ installdox script to correct
+ the links in the documentation.
+
+
+
+
+Creating a search engine to search in the Qt documentation
+
+
+Using doxytag
and doxysearch
it is possible to create a search engine for
+the Qt documentation, without needing the sources!
+This can be done by carefully following these steps:
+
+- Go to the html directory of the Qt-distribution:
+
cd \$QTDIR/html
+ - Generate the search index by typing:
+
doxytag -s search.idx
+ in the directory where the HTML files are located.
+ This will parse all files and build a search index.
+ Apart from the file search.idx
two other files
+ will be generated: search.gif
and search.cgi
+
+ \par Note:
+ Doxytag requires quite a large amount of memory to
+ generate the search index (about 30 MB on my Linux box)!
+ The resulting index file requires about 3 MB of space on your disk.
+
+ - Edit the shell script
search.cgi
with a text editor.
+
+ Fill in the absolute path to the doxysearch
binary after
+ the DOXYSEARCH=
tag.
+ On my system this becomes:
+ DOXYSEARCH=/usr/local/bin/doxysearch
+
+ Fill in the absolute path to the qt documentation after the
+ DOXYPATH=
tag.
+ On my system this becomes:
+ DOXYPATH=/usr/local/qt/html
+ -
+ CGI binaries are usually located in a special directory.
+ Consult the manual of your HTTP daemon or your system administrator to
+ find out, where this directory resides on your system.
+ Copy (or move) the
search.cgi
script to this directory.
+ If needed you may change the name of the script.
+ On my system, this becomes:
+ cp search.cgi /usr/local/lib/httpd/cgi-bin/
+
+ - Create a text-file with the name
search.cfg
.
+ On the first line, you must put the absolute URL to the Qt
+ documentation.
+ Since, I only use the search engine on my own standalone system, I use
+ the file:
protocol.
+ On the second line, you must put the absolute URL to the
+ cgi script.
+ On my system the resulting file looks like this:
+\verbatim
+file:///usr/local/qt/html
+http://blizzard/cgi-bin/search.cgi
+\endverbatim
+
+ - Add a link to the search engine in the Qt documentation.
+ On my system, I have put a line
+\verbatim
+
- Search the documentation
+\endverbatim
+ in the additional information section of the
index.html
file.
+- Start your favourite web browser and click on the link.
+ If everything is OK, you should get a page where you can enter
+ search terms.
+
+
+*/