import modules ;
import generators ;
import os ;
+import param ;
import path ;
import print ;
import project ;
# Use to specify extra configuration paramters. These get translated into a
# doxyfile which configures the building of the docs.
-feature.feature doxygen:param : : free ;
+feature.feature "doxygen:param" : : free ;
# Specify the "<xsl:param>boost.doxygen.header.prefix" XSLT option.
feature.feature prefix : : free ;
feature.feature doxygen.doxproc.title : : free ;
# Location for images when generating XML
-feature.feature doxygen:xml-imagedir : : free ;
+feature.feature "doxygen:xml-imagedir" : : free ;
# Indicates whether the entire directory should be deleted
feature.feature doxygen.rmdir : off on : optional incidental ;
: DOXYFILE : DOXYGEN_XML_MULTIFILE ;
generators.register-standard doxygen.xml-dir-to-boostbook
: DOXYGEN_XML_MULTIFILE : BOOSTBOOK : <doxygen.processor>doxproc ;
- generators.register-standard doxygen.xml-to-boostbook
+ generators.register-xslt doxygen.xml-to-boostbook
: DOXYGEN_XML : BOOSTBOOK : <doxygen.processor>xsltproc ;
- generators.register-standard doxygen.collect
+ generators.register-xslt doxygen.collect
: DOXYGEN_XML_MULTIFILE : DOXYGEN_XML ;
generators.register-standard doxygen.run
: DOXYFILE : DOXYGEN_HTML_MULTIFILE ;
{
if $(.is-cygwin)
{
- match = [ MATCH ^(.):(.*) : $(path) ] ;
+ match = [ MATCH "^(.):(.*)" : $(path) ] ;
if $(match)
{
return /cygdrive/$(match[1])$(match[2]:T) ;
}
}
+toolset.uses-features doxygen.headers-to-doxyfile : "<doxygen:param>" ;
# Generates a doxygen configuration file (doxyfile) given a set of C++ sources
# and a property list that may contain <doxygen:param> features.
# Translate <doxygen:param> into command line flags.
for local param in [ feature.get-values <doxygen:param> : $(properties) ]
{
- local namevalue = [ MATCH ([^=]*)=(.*) : $(param) ] ;
+ local namevalue = [ MATCH "([^=]*)=(.*)" : $(param) ] ;
if $(namevalue[1]) = OUTPUT_DIRECTORY
{
output-dir = [ translate-path [ utility.unquote $(namevalue[2]) ] ]
print.text $(text) : true ;
}
+toolset.uses-features doxygen.run : <doxygen.rmdir> "<doxygen:param>" ;
# Run Doxygen. See doxygen-action for a description of the strange properties of
# this rule.
if <doxygen.rmdir>on in $(properties)
{
local output-dir = [ path.make [ MATCH
- <doxygen:param>OUTPUT_DIRECTORY=\"?([^\"]*) : $(properties) ] ] ;
+ "<doxygen:param>OUTPUT_DIRECTORY=\"?([^\"]*)" : $(properties) ] ] ;
local html-dir = [ path.make [ MATCH <doxygen:param>HTML_OUTPUT=(.*) :
$(properties) ] ] ;
if $(output-dir) && $(html-dir) &&
: The boostbook module is not initialized you have attempted to use
: the 'doxygen' toolset, which requires BoostBook, but never
: initialized BoostBook.
- : Hint: add 'using boostbook ;' to your user-config.jam. ;
+ : "Hint:" add 'using boostbook \;' to your user-config.jam. ;
}
}
: <xsl:param>doxygen.xml.path=$(native-path) ;
}
+toolset.uses-features doxygen.xml-to-boostbook : <prefix> <reftitle> ;
# Translate Doxygen XML into BoostBook.
#
rule doxygen ( target : sources + : requirements * : default-build * :
usage-requirements * )
{
+ param.handle-named-params
+ sources requirements default-build usage-requirements ;
requirements += <format>none ;
freeze-config ;
local project = [ project.current ] ;