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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#
# Copyright (c) 2019 Vinnie Falco (vinnie.falco@gmail.com)
# Copyright (c) 2021 Dmitry Arkhipov (grisumbras@gmail.com)
#
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#
# Official repository: https://github.com/boostorg/json
#
project json/doc
: default-build
<warnings-as-errors>on
;
import-search /boost/docca ;
using asciidoctor ;
import common ;
import docca ;
import feature ;
import path ;
import property-set ;
if ! ( htmldir in [ feature.values asciidoctor-backend ] )
{
feature.extend asciidoctor-backend : htmldir ;
}
local here-dir = [ path.root $(__file__:D) [ path.pwd ] ] ;
local include-prefix = [ path.native $(here-dir:D)/include ] ;
docca.pyreference entities.adoc
: [ glob-tree-ex ../include/boost/json : *.hpp *.ipp : detail impl ]
externals.hpp
: <doxygen:param>ALIASES="esafe=\"@par Exception Safety\""
<doxygen:param>DISTRIBUTE_GROUP_DOC=YES
<doxygen:param>MACRO_EXPANSION=YES
<doxygen:param>EXPAND_ONLY_PREDEF=YES
<doxygen:param>"PREDEFINED=\\
BOOST_FORCEINLINE \\
BOOST_JSON_DECL \\
BOOST_JSON_DOCS \\
BOOST_SYMBOL_VISIBLE \\
\"BOOST_JSON_INLINE_VARIABLE(v, t)=constexpr t v;\""
<doxygen:param>ABBREVIATE_BRIEF=
<doxygen:param>INLINE_INHERITED_MEMB=YES
<doxygen:param>JAVADOC_AUTOBRIEF=YES
<doxygen:param>AUTOLINK_SUPPORT=NO
<doxygen:param>EXTRACT_ALL=YES
<doxygen:param>EXTRACT_LOCAL_CLASSES=NO
<doxygen:param>STRIP_FROM_PATH=$(include-prefix)
<docca:template>reference.adoc.jinja2
<docca:config>config.json
;
generate with-path : entities.adoc : <generating-rule>@with-path ;
install images
: [ glob images/*.png ]
: <location>html/images
;
explicit images ;
#-------------------------------------------------------------------------------
#
# HTML documentation for $(BOOST_ROOT)/doc/html
#
#-------------------------------------------------------------------------------
local backend-module = [ path.root htmldir.rb $(here-dir) ] ;
html index
: pages/main.adoc
: <location>html
<dependency>images
<dependency>with-path
<use>/boost/boostlook//boostlook
<asciidoctor-attribute>nofooter
<asciidoctor-attribute>nofootnotes
<asciidoctor-attribute>pagelevels=2
<asciidoctor-attribute>icons=font
<asciidoctor-attribute>project-dir=$(here-dir:D)
<asciidoctor-attribute>"project-gh=https://github.com/boostorg/json/edit/develop"
<asciidoctor-attribute>docinfo=shared-head
<dependency>pages/docinfo.html
<asciidoctor-backend>htmldir
<dependency>htmldir.rb
<flags>"-r $(backend-module)"
<asciidoctor-attribute>attribute-missing=warn
<flags>-v
<flags>--trace
<warnings>all:<flags>-w
<warnings>extra:<flags>-w
<warnings>pedantic:<flags>-w
<warnings-as-errors>on:<flags>--failure-level=WARN
;
#-------------------------------------------------------------------------------
#
# These are used to inform the build system of the
# means to build the integrated and stand-alone docs.
#
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : index ;
explicit boostrelease ;
#-------------------------------------------------------------------------------
#
# helpers
#
rule with-path ( project name : ps : src )
{
local pwd = [ path.pwd ] ;
local here = [ path.root $(__file__:D) $(pwd) ] ;
local path = [ path.root [ $(src).name ] [ $(src).path ] ] ;
path = [ path.root $(path) $(pwd) ] ;
path = [ path.relative-to $(here)/pages $(path) ] ;
return [ $(ps).add-raw <asciidoctor-attribute>entities-file=$(path) ]
$(src) ;
}
|