===========================================================================
Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2011 Bruno Lalande, Paris, France.
Copyright (c) 2009-2011 Mateusz Loskot, London, UK
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
============================================================================
Procedure to create documentation using Doxygen, QuickBook and doxygen_xml2qbk
Note that doxygen_xml2qbk is a tool currently (slightly) specific to Boost.Geometry,
and that it translates from Doxygen-XML output to Quickbook (without xslt)
1) install Doxygen
2) install QuickBook using http://www.boost.org/doc/libs/release/doc/html/quickbook/install.html
3) run b2 in src/docutils/tools/doxygen_xml2qbk to build doxygen_xml2qbk executable
4) put binary in your PATH, e.g. in /usr/local/bin/doxygen_xml2qbk
5) execute python file "make_qbk.py" (calling doxygen, doxygen_xml2qbk, bjam)
Folders in this folder:
concept: manually written documentation QBK files, on concept
doxy: folders and files needed for doxygen input and output
html: contains generated HTML files
other: older documentation (subject to update or deletion)
ref: manually written documentation QBK files, included from .hpp files
reference: generated documentation QBK files (by doxygen_xml2qbk)
[note: this book cannot be called "generated" or something like that,
because it is used in the final URL and we want to have "reference" in it]
src: examples used in documentation and tools (doxygen_xml2qbk)
Per new algorithm (e.g. foo), one should add:
1) in file boost/geometry/algorithms/foo.hpp, include a "\ingroup foo" in the doxygen comments
2) in file doc/doxy/doxygen_input/groups/groups.hpp, define the group "foo"
3) in file doc/make_qbk.py, include the algorithm "foo"
4) in file doc/reference.qbk, include the foo.qbk ([include generated/foo.qbk])
5) in file doc/quickref.xml, include a section on foo conform other sections
6) in file doc/src/docutils/tools/support_status/support_status.cpp include the algorithm (3 places) (optionally)
7) in file doc/reference/foo.qbk (to be created), include the support status and write other text, and include examples (optionally)
8) in file doc/imports.qbk, include the example foo.cpp (if any)
9) create file doc/src/examples/algorithm/foo.cpp (optional)