File: Jamfile

package info (click to toggle)
boost1.90 1.90.0-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 593,120 kB
  • sloc: cpp: 4,190,908; xml: 196,648; python: 34,618; ansic: 23,145; asm: 5,468; sh: 3,774; makefile: 1,161; perl: 1,020; sql: 728; ruby: 676; yacc: 478; java: 77; lisp: 24; csh: 6
file content (115 lines) | stat: -rw-r--r-- 3,671 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Copyright 2023 Andrey Semashev
#
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# https://www.boost.org/LICENSE_1_0.txt)

using quickbook ;
using boostbook ;
using doxygen ;
using xsltproc ;

import set ;
import doxygen ;
import xsltproc ;
import notfile ;
import path ;
import project ;

project boost/libs/scope/doc ;

local doxygen_params =
        <doxygen:param>RECURSIVE=YES
        <doxygen:param>ALPHABETICAL_INDEX=YES
        <doxygen:param>REPEAT_BRIEF=YES
        <doxygen:param>ALWAYS_DETAILED_SEC=YES
        <doxygen:param>BRIEF_MEMBER_DESC=NO
        <doxygen:param>ABBREVIATE_BRIEF=YES
        <doxygen:param>INHERIT_DOCS=YES
        <doxygen:param>HIDE_UNDOC_MEMBERS=YES
        <doxygen:param>HIDE_UNDOC_CLASSES=YES
        <doxygen:param>HIDE_SCOPE_NAMES=YES
        <doxygen:param>EXTRACT_ALL=NO
        <doxygen:param>EXTRACT_PRIVATE=NO
        <doxygen:param>BUILTIN_STL_SUPPORT=YES
        <doxygen:param>ENABLE_PREPROCESSING=YES
        <doxygen:param>MACRO_EXPANSION=YES
        <doxygen:param>TAB_SIZE=4
        <doxygen:param>SOURCE_BROWSER=YES
        <doxygen:param>VERBATIM_HEADERS=NO
#        <doxygen:param>SEARCH_INCLUDES=YES
#        <doxygen:param>"INCLUDE_PATH=../../.."
#        <doxygen:param>EXCLUDE_SYMBOLS="detail detail::*"
        <doxygen:param>"PREDEFINED=BOOST_SCOPE_DOXYGEN \\
                        BOOST_SCOPE_DETAIL_DOC_ALT(alt, ...)=alt \\
                        BOOST_SCOPE_DETAIL_DOC_HIDDEN(...)=... \\
                        BOOST_SCOPE_DETAIL_DOC(...)=__VA_ARGS__ \\
                        BOOST_NO_CXX17_DEDUCTION_GUIDES=1 \\
                        BOOST_SYMBOL_VISIBLE= \\
                        BOOST_FORCEINLINE=inline \\
                        BOOST_INLINE_VARIABLE=inline \\
                        BOOST_CXX14_CONSTEXPR=constexpr"
        <xsl:param>boost.doxygen.detailns=detail
#        <xsl:param>boost.doxygen.detail=implementation_
    ;


local top_level_includes =
    [ glob
        ../include/boost/scope/*.hpp
    ] ;


# This rule generates *.qbk files with macros with references to files, classes, etc. from the doxygen resulting *.xml files.
rule gen-references ( target : source : properties * )
{
    DEPENDS target : source ;
    local source-path = [ path.make [ on $(source) return $(LOCATE) ] ] ;
    STYLESHEET on $(target) = [ path.native [ path.join [ path.parent $(source-path) ] gen_references.xsl ] ] ;
    local target-name = $(source:B) ;
    TARGET on $(target) = [ path.native [ path.join $(source-path) $(target-name:S=.qbk) ] ] ;
}
actions gen-references
{
    $(NAME:E=xsltproc) -o "$(TARGET)" "$(STYLESHEET)" "$(>)"
}


doxygen top_level_reference
    :
        $(top_level_includes)
    :
        $(doxygen_params)
        <xsl:param>"boost.doxygen.reftitle=Reference"
        <location>tmp
    ;

notfile top_level_refs : @gen-references : top_level_reference.xml ;


xml scope_doc
    :
        scope.qbk
    :
        <dependency>top_level_refs
    ;

boostbook scope
    :
        scope_doc
    :
        <xsl:param>"boost.root=../../../.."
        <xsl:param>"boost.libraries=../../../libs/libraries.htm"
        <xsl:param>"nav.layout=none"
        <xsl:param>"boost.image=Boost"
        <xsl:param>"navig.graphics=1"
        <xsl:param>"chunk.section.depth=1"
        <xsl:param>"boost.compact.function=0"
        <format>pdf:<xsl:param>"boost.url.prefix=https://www.boost.org/doc/libs/release/libs/scope/doc/html"
    ;

###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : scope ;
explicit boostrelease ;