Boost logo

Boost-Build :

Subject: [Boost-build] Doxygen and XML/BoostBook documentation
From: Anthony Foglia (AFoglia_at_[hidden])
Date: 2009-02-26 11:45:08


        We've been successfully using boost.build to generate Doxygen
documentation in HTML format, but I'm having trouble getting any other
format. I was hoping for PDF, but doxygen.jam in V2 (Milestone 12) only
claims to support HTML and XML, and only the HTML seems to work.
(Boostbook might be fine, once I figure out how convert it to PDF.)

Here are the relevant lines from our Jamroot :
--- Jamroot ---
project
    : requirements
          <threading>multi
    ;

path-constant TOPDIR : . ;

using doxygen ;
doxygen documentation.xml
    : [ path.glob-tree $(TOPDIR)/lib $(TOPDIR)/Distribution
          : *.h : .svn Sandbox ]
    :
      <doxgyen:param>INCLUDE_GRAPH=YES
      # other <doxygen:param>'s omitted...
      <location>$(TOPDIR)/doxygen/cpp
    ;
--- end ---

And here's the error I get:
$ bjam documentation.xml
error: No best alternative for ./documentation.xml
     next alternative: required properties:
<doxgyen:param>INCLUDE_GRAPH=YES <threading>multi
         not matched
     next alternative: required properties:
<doxgyen:param>INCLUDE_GRAPH=YES <threading>multi
         not matched
...found 1 target...

If I comment out the <doxygen:param>INCLUDE_GRAPH parameter and the
<threading>multi the resulting required properties bjam complains about
becomes:

$ bjam documentation.xml
error: No best alternative for ./documentation.xml
     next alternative: required properties: (empty)
         matched
     next alternative: required properties: (empty)
         matched
...found 1 target...

If I change the target name to documentation with no suffix, then I get
merely a "...found 1 target..." message, and nothing is built.

If the target name is documentation, but I add xml to the target name on
the commandline, I get a "hint" to add "using boostbook ;" to my
user-config.jam.

If I then add "using boostbook ;" to my Jamroot, I get the following
warning:

$ bjam documentation
/usr/share/boost-build/tools/boostbook.jam:120: in boostbook.init from
module boostbook
warning: couldn't find BoostBook xsl or dtd directories;
warning: please set "BOOST_ROOT" variable to the root directory of your
boost installation. Searched in:
warning: tools/boostbook
/usr/share/boost-build/../../boostbook
/usr/share/boost-build/build/toolset.jam:36: in toolset.using from
module toolset
/usr/share/boost-build/build/project.jam:825: in using from module
Jamfile</home/AFoglia/projects/asa/trunk>
Jamroot:144: in modules.load from module
Jamfile</home/AFoglia/projects/asa/trunk>
/usr/share/boost-build/build/project.jam:312: in load-jamfile from
module project
/usr/share/boost-build/build/project.jam:68: in load from module project
/usr/share/boost-build/build/project.jam:170: in project.find from
module project
/usr/share/boost-build/build-system.jam:248: in load from module
build-system
/usr/share/boost-build/kernel/modules.jam:261: in import from module modules
/usr/share/boost-build/kernel/bootstrap.jam:132: in boost-build from module
/home/AFoglia/projects/asa/trunk/boost-build.jam:13: in module scope
from module
...found 1 target...

First, I don't see any errors, just warnings. Second, does anyone have
any idea what BOOST_ROOT should be on an Ubuntu system?

-- 
Anthony Foglia
Princeton Consultants
(609) 987-8787 x233

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk