⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doxygen.jam

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 JAM
📖 第 1 页 / 共 2 页
字号:
    RM on $(target) = [ modules.peek common : RM ] ;    *.XML on $(target) =        [ path.native            [ path.join                [ path.make [ on $(target) return $(LOCATE) ] ]                $(target:B:S=)                *.xml ] ] ;}# The rules below require Boost.Book stylesheets, so we need some code to check# that the boostbook module has actualy been initialized.#rule check-boostbook ( ){    if ! [ modules.peek boostbook : .initialized ]    {        ECHO "error: the boostbook module is not initialized" ;        ECHO "error: you've attempted to use the 'doxygen' toolset, " ;        ECHO "error: which requires Boost.Book," ;        ECHO "error: but never initialized Boost.Book." ;        EXIT "error: Hint: add 'using boostbook ;' to your user-config.jam" ;    }}# Collect the set of Doxygen XML files into a single XML source file that can be# handled by an XSLT processor. The source is completely ignored (see# doxygen-action), because this action picks up the Doxygen XML index file# xml/index.xml. This is because we can not teach Doxygen to act like a NORMAL# program and take a "-o output.xml" argument (grrrr). The target of the# collection will be a single Doxygen XML file.#rule collect ( target : source : properties * ){    check-boostbook ;    local collect-xsl-dir        = [ path.native [ path.join [ boostbook.xsl-dir ] doxygen collect ] ] ;    local source-path        = [ path.make [ on $(source) return $(LOCATE) ] ] ;    local collect-path        = [ path.root [ path.join $(source-path) $(source:B) ] [ path.pwd ] ] ;    local native-path        = [ path.native $(collect-path) ] ;    local real-source        = [ path.native [ path.join $(collect-path) index.xml ] ] ;    xsltproc.xslt $(target) : $(real-source) $(collect-xsl-dir:S=.xsl)        : <xsl:param>doxygen.xml.path=$(native-path) ;}# Translate Doxygen XML into BoostBook.#rule xml-to-boostbook ( target : source : properties * ){    check-boostbook ;    local xsl-dir = [ boostbook.xsl-dir ] ;    local d2b-xsl = [ path.native [ path.join [ boostbook.xsl-dir ] doxygen        doxygen2boostbook.xsl ] ] ;    local xslt-properties = $(properties) ;    for local prefix in [ feature.get-values <prefix> : $(properties) ]    {        xslt-properties += "<xsl:param>boost.doxygen.header.prefix=$(prefix)" ;    }    for local title in [ feature.get-values <reftitle> : $(properties) ]    {        xslt-properties += "<xsl:param>boost.doxygen.reftitle=$(title)" ;    }    xsltproc.xslt $(target) : $(source) $(d2b-xsl) : $(xslt-properties) ;}flags doxygen.xml-dir-to-boostbook OPTIONS <doxygen.doxproc.index>yes : --enable-index ;flags doxygen.xml-dir-to-boostbook ID <doxygen.doxproc.id> ;flags doxygen.xml-dir-to-boostbook TITLE <doxygen.doxproc.title> ;rule xml-dir-to-boostbook ( target : source : properties * ){    DOXPROC on $(target) = $(.doxproc) ;    LOCATE on $(source:S=) = [ on $(source) return $(LOCATE) ] ;    doxygen.doxproc $(target) : $(source:S=) ;}# Generate the HTML redirect to HTML dir index.html file.#rule html-redirect ( target : source : properties * ){    local uri = "$(target:B)/index.html" ;    print.output $(target) plain ;    print.text"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head>  <meta http-equiv=\"refresh\" content=\"0; URL=$(uri)\" />  <title></title></head><body>  Automatic redirection failed, please go to <a href=  \"$(uri)\">$(uri)</a>.</body></html>"        : true ;}# User-level rule to generate BoostBook XML from a set of headers via Doxygen.#rule doxygen ( target : sources * : requirements * : default-build * : usage-requirements * ){    local project = [ project.current ] ;    if $(target:S) = .html    {        # Build an HTML directory from the sources.        local html-location = [ feature.get-values <location> : $(requirements) ] ;        local output-dir = [ path.root            [ path.join [ $(project).get build-dir ] $(html-location:E=html) ]            [ path.pwd ] ] ;        local output-dir-native = [ path.native $(output-dir) ] ;        requirements = [ property.change $(requirements) : <location> ] ;        ## The doxygen configuration file.        targets.main-target-alternative            [ new typed-target $(target:S=.tag) : $(project) : DOXYFILE                : [ targets.main-target-sources $(sources) : $(target:S=.tag) ]                : [ targets.main-target-requirements $(requirements)                    <doxygen:param>GENERATE_HTML=YES                    <doxygen:param>GENERATE_XML=NO                    <doxygen:param>"OUTPUT_DIRECTORY=\"$(output-dir-native)\""                    <doxygen:param>HTML_OUTPUT=$(target:B)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]            ] ;        $(project).mark-target-as-explicit $(target:S=.tag) ;        ## The html directory to generate by running doxygen.        targets.main-target-alternative            [ new typed-target $(target:S=.dir) : $(project) : DOXYGEN_HTML_MULTIFILE                : $(target:S=.tag)                : [ targets.main-target-requirements $(requirements)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]                ] ;        $(project).mark-target-as-explicit $(target:S=.dir) ;        ## The redirect html file into the generated html.        targets.main-target-alternative            [ new typed-target $(target) : $(project) : DOXYGEN_HTML                : $(target:S=.dir)                : [ targets.main-target-requirements $(requirements)                    <location>$(output-dir)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]                ] ;    }    else    {        # Build a BoostBook XML file from the sources.        local location-xml = [ feature.get-values <location> : $(requirements) ] ;        requirements = [ property.change $(requirements) : <location> ] ;        local target-xml = $(target:B=$(target:B)-xml) ;        ## The doxygen configuration file.        targets.main-target-alternative            [ new typed-target $(target-xml:S=.tag) : $(project) : DOXYFILE                : [ targets.main-target-sources $(sources) : $(target-xml:S=.tag) ]                : [ targets.main-target-requirements $(requirements)                    <doxygen:param>GENERATE_HTML=NO                    <doxygen:param>GENERATE_XML=YES                    <doxygen:param>XML_OUTPUT=$(target-xml)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]            ] ;        $(project).mark-target-as-explicit $(target-xml:S=.tag) ;        ## The Doxygen XML directory of the processed source files.        targets.main-target-alternative            [ new typed-target $(target-xml:S=.dir) : $(project) : DOXYGEN_XML_MULTIFILE                : $(target-xml:S=.tag)                : [ targets.main-target-requirements $(requirements)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]            ] ;        $(project).mark-target-as-explicit $(target-xml:S=.dir) ;        ## The resulting BoostBook file is generated by the processor tool. The        ## tool can be either the xsltproc plus accompanying XSL scripts. Or it        ## can be the python doxproc.py script.        targets.main-target-alternative            [ new typed-target $(target-xml) : $(project) : BOOSTBOOK                :  $(target-xml:S=.dir)                : [ targets.main-target-requirements $(requirements)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]            ] ;        $(project).mark-target-as-explicit $(target-xml) ;        targets.main-target-alternative            [ new install-target-class $(target:S=.xml) : $(project)                : $(target-xml)                : [ targets.main-target-requirements $(requirements)                    <location>$(location-xml:E=.)                    <name>$(target:S=.xml)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]            ] ;        $(project).mark-target-as-explicit $(target:S=.xml) ;        targets.main-target-alternative            [ new alias-target-class $(target) : $(project)                :                : [ targets.main-target-requirements $(requirements)                    : $(project) ]                : [ targets.main-target-default-build $(default-build) : $(project) ]                : [ targets.main-target-usage-requirements $(usage-requirements)                    <dependency>$(target:S=.xml)                    : $(project) ]            ] ;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -