summaryrefslogtreecommitdiff
path: root/tools/build/src/tools/doxygen.jam
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/src/tools/doxygen.jam')
-rw-r--r--tools/build/src/tools/doxygen.jam22
1 files changed, 14 insertions, 8 deletions
diff --git a/tools/build/src/tools/doxygen.jam b/tools/build/src/tools/doxygen.jam
index 1e53624311..0358e8dc5a 100644
--- a/tools/build/src/tools/doxygen.jam
+++ b/tools/build/src/tools/doxygen.jam
@@ -27,6 +27,7 @@ import make ;
import modules ;
import generators ;
import os ;
+import param ;
import path ;
import print ;
import project ;
@@ -42,7 +43,7 @@ import virtual-target ;
# 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 ;
@@ -63,7 +64,7 @@ feature.feature doxygen.doxproc.id : : 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 ;
@@ -105,9 +106,9 @@ rule init ( name ? )
: 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 ;
@@ -252,7 +253,7 @@ rule translate-path ( path )
{
if $(.is-cygwin)
{
- match = [ MATCH ^(.):(.*) : $(path) ] ;
+ match = [ MATCH "^(.):(.*)" : $(path) ] ;
if $(match)
{
return /cygdrive/$(match[1])$(match[2]:T) ;
@@ -274,6 +275,7 @@ rule translate-path ( path )
}
}
+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.
@@ -287,7 +289,7 @@ rule headers-to-doxyfile ( target : sources * : properties * )
# 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]) ] ]
@@ -321,6 +323,7 @@ rule headers-to-doxyfile ( target : sources * : properties * )
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.
@@ -331,7 +334,7 @@ rule run ( target : source : properties * )
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) &&
@@ -377,7 +380,7 @@ rule check-boostbook ( )
: 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. ;
}
}
@@ -406,6 +409,7 @@ rule collect ( target : source : properties * )
: <xsl:param>doxygen.xml.path=$(native-path) ;
}
+toolset.uses-features doxygen.xml-to-boostbook : <prefix> <reftitle> ;
# Translate Doxygen XML into BoostBook.
#
@@ -619,6 +623,8 @@ rule check-tools ( target )
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 ] ;