Opened 14 years ago

Last modified 13 years ago

#2914 new Feature Requests

Support for cumulative parameters in a doxyfile

Reported by: brian@… Owned by: René Rivera
Milestone: To Be Determined Component: build
Version: Boost 1.38.0 Severity: Optimization
Keywords: Cc:

Description

It would be nice if it was possible to specify cumulative parameters as arguments to <doxygen:param>. Aliases for instance really require this. E.g.:

DOXYGEN_PARAMS =

    ...

    ALIASES+=defModule{1}="\"\module{\1} \defgroup group_class_\1 \1\""
    ALIASES+=module{1}="\"\ingroup group_class_\1 \\n<div><span class=\"module\">Module:</span>&nbsp;&nbsp;<span class=\"module_text\">\ref group_class_\1</span></div>\""

    ...

    ;

doxygen doc.html
    :   [ glob include/*/*.hpp ] # or whatever
    :   <doxygen:param>$(DOXYGEN_PARAMS)
    ;

Currently the parser chokes on the += construct; it expects = always. I have tinkered with doxygen.jam in my local BBv2 dir, but I am very unsure about the correctness of what I'm doing. FWIW here is the patch for what I currently use...

Index: tools/doxygen.jam
===================================================================
--- tools/doxygen.jam   (revision 52181)
+++ tools/doxygen.jam   (working copy)
@@ -197,11 +197,11 @@
     # Translate <doxygen:param> into command line flags.
     for local param in [ feature.get-values <doxygen:param> : $(properties) ]
     {
-        local namevalue = [ regex.match ([^=]*)=(.*) : $(param) ] ;
-        text += "$(namevalue[1]) = $(namevalue[2])" ;
+        local namevalue = [ regex.match ([^+=]*)([+]?=)(.*) : $(param) ] ;
+        text += "$(namevalue[1]) $(namevalue[2]) $(namevalue[3])" ;
         if $(namevalue[1]) = OUTPUT_DIRECTORY
         {
-            output-dir = "$(namevalue[2])" ;
+            output-dir = "$(namevalue[3])" ;
         }
     }

Change History (1)

comment:1 by René Rivera, 13 years ago

Milestone: Boost 1.39.0To Be Determined
Owner: changed from Vladimir Prus to René Rivera
Note: See TracTickets for help on using tickets.