mirror of
https://github.com/boostorg/static_string.git
synced 2025-07-30 12:37:34 +02:00
Fix doc build
This commit is contained in:
184
doc/Jamfile
184
doc/Jamfile
@ -1,5 +1,6 @@
|
||||
#
|
||||
# Copyright (c) 2013-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||
# Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
|
||||
# Copyright (c) 2020 Krystian Stasiowski (sdkrystian at gmail dot 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)
|
||||
@ -15,6 +16,7 @@ import xsltproc ;
|
||||
import doxygen ;
|
||||
import modules ;
|
||||
import saxonhe ;
|
||||
import common ;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
@ -30,36 +32,12 @@ local sources = [ path.glob-tree ../include/boost/static_string : *.hpp *.ipp :
|
||||
.doxygen = [ doxygen.name ] ;
|
||||
.doxygen ?= doxygen ;
|
||||
|
||||
#ECHO Using doxygen from "$(.doxygen)" ;
|
||||
|
||||
.xsltproc = [ xsltproc.name ] ;
|
||||
.xsltproc ?= xsltproc ;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
# Generate transform.xsl. This xsl transfomration takes as input
|
||||
# the Doxygen-generated XML and produces QuickBook output.
|
||||
#
|
||||
make transform.xsl
|
||||
:
|
||||
docca/include/docca/doxygen.xsl
|
||||
xsl/config.xsl
|
||||
xsl/class_detail.xsl
|
||||
xsl/includes.xsl
|
||||
xsl/includes_foot.xsl
|
||||
:
|
||||
@make_transform
|
||||
;
|
||||
|
||||
# Make a copy of the docca transform. Then, insert our
|
||||
# customizations into the specially marked locations using sed.
|
||||
#
|
||||
actions make_transform
|
||||
{
|
||||
cp $(2[1]) $(1)
|
||||
sed -i -e "/<!-- CONFIG_TEMPLATE -->/{r $(2[2])" -e "d}" $(1)
|
||||
sed -i -e "/<!-- CLASS_DETAIL_TEMPLATE -->/{r $(2[3])" -e "d}" $(1)
|
||||
sed -i -e "/<!-- INCLUDES_TEMPLATE -->/{r $(2[4])" -e "d}" $(1)
|
||||
sed -i -e "/<!-- INCLUDES_FOOT_TEMPLATE -->/{r $(2[5])" -e "d}" $(1)
|
||||
}
|
||||
#ECHO Using xsltproc from "$(.xsltproc)" ;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
@ -102,8 +80,144 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
# Copy all the XSLT modules to the target directory.
|
||||
#
|
||||
# FIXME: Change this so we can just specify a directory,
|
||||
# rather than every file individually.
|
||||
#
|
||||
# Also, somehow force dependencies in a general way
|
||||
# such that the XSLT has to be executed again
|
||||
# if any of the modules change. For example,
|
||||
# if base-extract-xml-pages.xml changes, then
|
||||
# an invocation of extract-xml-pages.xsl (which
|
||||
# imports the former) must be run again.
|
||||
#
|
||||
path-constant docca : ../../../tools/docca ;
|
||||
make extract-xml-pages.xsl : $(docca)/include/docca/extract-xml-pages.xsl : @copy_script ;
|
||||
make base-extract-xml-pages.xsl : $(docca)/include/docca/base-extract-xml-pages.xsl : @copy_script ;
|
||||
make common.xsl : $(docca)/include/docca/common.xsl : @copy_script ;
|
||||
make stage1.xsl : $(docca)/include/docca/stage1.xsl : @copy_script ;
|
||||
make base-stage1.xsl : $(docca)/include/docca/base-stage1.xsl : @copy_script ;
|
||||
make stage2.xsl : $(docca)/include/docca/stage2.xsl : @copy_script ;
|
||||
make assemble-quickbook.xsl : $(docca)/include/docca/assemble-quickbook.xsl : @copy_script ;
|
||||
make emphasized-types.xsl : $(docca)/include/docca/emphasized-types.xsl : @copy_script ;
|
||||
|
||||
make config.xsl
|
||||
:
|
||||
$(docca)/include/docca/config.xsl
|
||||
xsl/config.xsl
|
||||
xsl/class_detail.xsl
|
||||
xsl/includes.xsl
|
||||
:
|
||||
@make_config
|
||||
;
|
||||
|
||||
actions make_config
|
||||
{
|
||||
cp $(2[1]) $(1)
|
||||
sed -i -e "/<!-- CONFIG_TEMPLATE -->/{r $(2[2])" -e "d}" $(1)
|
||||
sed -i -e "/<!-- CLASS_DETAIL_TEMPLATE -->/{r $(2[3])" -e "d}" $(1)
|
||||
sed -i -e "/<!-- INCLUDES_TEMPLATE -->/{r $(2[4])" -e "d}" $(1)
|
||||
}
|
||||
|
||||
# Make a copy of the given file.
|
||||
#
|
||||
actions copy_script
|
||||
{
|
||||
cp $(2[1]) $(1)
|
||||
}
|
||||
|
||||
|
||||
# This is to initially create the directory as a side effect; I'm sure there's a better way...
|
||||
make xml-pages/directory/placeholder : index.xml : @null_action ;
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
#
|
||||
# Run index.xml through the first transformation stage
|
||||
# (assembling and splitting the XML into page-specific files).
|
||||
#
|
||||
make xml-pages.xml
|
||||
:
|
||||
index.xml
|
||||
extract-xml-pages.xsl
|
||||
|
||||
# Make bjam aware of additional dependencies
|
||||
base-extract-xml-pages.xsl
|
||||
config.xsl
|
||||
common.xsl
|
||||
:
|
||||
saxonhe.saxonhe
|
||||
;
|
||||
|
||||
# This is just to make the directory eligible as a source
|
||||
make xml-pages : index.xml : @null_action ;
|
||||
|
||||
# Not ready for prime time until I figure out how to get the xslt-visualizer code in place
|
||||
#make stage1/code-trace-enabled/stage1.xsl
|
||||
# :
|
||||
# stage1.xsl
|
||||
# xslt-visualizer/xsl/trace-enable.xsl
|
||||
# :
|
||||
# saxonhe.saxonhe
|
||||
# ;
|
||||
|
||||
# This is to initially create the directory as a side effect; I'm sure there's a better way...
|
||||
make stage1/results/directory/placeholder : xml-pages.xml : @null_action ;
|
||||
make stage2/results/directory/placeholder : xml-pages.xml : @null_action ;
|
||||
|
||||
# TODO: figure out why this (and the following stage) get built every time
|
||||
make stage1/results
|
||||
:
|
||||
xml-pages
|
||||
stage1.xsl
|
||||
|
||||
# additional dependencies
|
||||
xml-pages.xml
|
||||
base-stage1.xsl
|
||||
config.xsl
|
||||
common.xsl
|
||||
:
|
||||
saxonhe.saxonhe_dir
|
||||
;
|
||||
|
||||
make stage2/results
|
||||
:
|
||||
stage1/results
|
||||
stage2.xsl
|
||||
|
||||
# additional dependencies
|
||||
emphasized-types.xsl
|
||||
:
|
||||
saxonhe.saxonhe_dir
|
||||
;
|
||||
|
||||
make reference.qbk
|
||||
:
|
||||
xml-pages.xml
|
||||
assemble-quickbook.xsl
|
||||
|
||||
# TODO: make this input to the XSLT somehow
|
||||
# rather than relying on it being hard-coded
|
||||
# in the XSLT (which it is!)
|
||||
stage2/results
|
||||
:
|
||||
saxonhe.saxonhe
|
||||
;
|
||||
|
||||
actions make_dir
|
||||
{
|
||||
mkdir $(1)
|
||||
}
|
||||
|
||||
make combine.xslt : index.xml : @null_action ;
|
||||
|
||||
actions touch_file
|
||||
{
|
||||
touch $(1) ;
|
||||
}
|
||||
|
||||
actions null_action
|
||||
{
|
||||
touch -c $(1) ;
|
||||
@ -127,13 +241,13 @@ actions call-xsltproc
|
||||
# Produce the reference.qbk file by running
|
||||
# the reference xml through the transform.
|
||||
#
|
||||
make reference.qbk
|
||||
:
|
||||
reference.xml
|
||||
transform.xsl
|
||||
:
|
||||
saxonhe.saxonhe
|
||||
;
|
||||
#make reference.qbk
|
||||
# :
|
||||
# reference.xml
|
||||
# transform.xsl
|
||||
# :
|
||||
# saxonhe.saxonhe
|
||||
# ;
|
||||
|
||||
# We have to make a copy of reference.qbk and put it
|
||||
# in a place where the static .qbk files can find it
|
||||
|
@ -35,7 +35,12 @@ INCLUDE_PATH = ../
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
|
||||
PREDEFINED = \
|
||||
BOOST_STATIC_STRING_DOCS
|
||||
BOOST_STATIC_STRING_DOCS \
|
||||
"BOOST_STATIC_STRING_CPP11_CONSTEXPR=constexpr" \
|
||||
"BOOST_STATIC_STRING_CPP14_CONSTEXPR=constexpr" \
|
||||
"BOOST_STATIC_STRING_CPP17_CONSTEXPR=constexpr" \
|
||||
"BOOST_STATIC_STRING_CPP20_CONSTEXPR=constexpr"
|
||||
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- Variables (Edit for your project) -->
|
||||
<xsl:variable name="doc-ref" select="'static_string.ref.'"/>
|
||||
<xsl:variable name="doc-ref" select="'static_string.ref'"/>
|
||||
<xsl:variable name="doc-ns" select="'boost::static_strings'"/>
|
||||
<xsl:variable name="debug" select="0"/>
|
||||
<xsl:variable name="private" select="0"/>
|
||||
|
Reference in New Issue
Block a user