# Spreadsort documentation Jamfile | |
# Copyright (c) 2014 Steven Ross | |
# | |
# Distributed under the Boost Software License, | |
# Version 1.0. (See accompanying file LICENSE_1_0.txt | |
# or copy at http://boost.org/LICENSE_1_0.txt) | |
# Reminder: whitespace MUST terminate variable name! | |
# so spaces or newlines BEFORE ; and : and AFTER too. | |
# (because : and ; are keywords!) | |
import doxygen ; | |
import quickbook ; | |
import os ; # Needed to get environment variables. | |
import modules ; | |
path-constant here : . ; # convenient to refer to files in the same directory as this jamfile.v2 | |
path-constant boost-images : ../../../doc/src/images ; | |
path-constant images_location : ./doc ; # location of SVG and PNG images referenced by Quickbook. | |
# http://docbook.sourceforge.net/release/xsl/1.77.1/doc/html/img.src.path.html | |
# relative to /doc ? | |
path-constant parent : .. ; # Beman Dawes - so that inspect.exe will start in boost-root/libs/timer | |
# when run from another directory, such as boost-root/status | |
using auto-index ; | |
using doxygen ; # Required if you want to use Doxygen. | |
using quickbook ; | |
using boostbook ; | |
if --enable-index in [ modules.peek : ARGV ] | |
{ | |
ECHO "Building the Spreadsort docs with automatic index generation enabled." ; | |
using auto-index ; | |
project sort_doc : requirements | |
<auto-index>on | |
<auto-index-script>sort.idx | |
<auto-index-prefix>. | |
<auto-index-verbose>on | |
<format>html:<auto-index-internal>on | |
<format>html:<xsl:param>generate.index=0 | |
<format>pdf:<auto-index-internal>on | |
<format>pdf:<xsl:param>index.on.type=1 | |
<quickbook-define>enable_index ; | |
} | |
else | |
{ | |
project sort_doc ; | |
ECHO "Building the Spreadsort docs with automatic index generation disabled. Try building with --enable-index." ; | |
} | |
doxygen autodoc | |
: | |
[ glob $(here)/../include/boost/sort.hpp ] | |
[ glob $(here)/../include/boost/sort/spreadsort/*.hpp ] | |
# [ glob $(here)/../include/boost/sort/detail/spreadsort/*.hpp ] # Hide implementation/detail for now. | |
# but could also include this and switch Boost.Sort C++ reference info to include implementation/detail or not using Doxygen macro DETAIL. | |
# See http://www.stack.nl/~dimitri/doxygen/manual/commands.html#cmdcond | |
# and http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_enabled_sections | |
# by adding this line below with other Doxygen parameters | |
# <doxygen:param>ENABLED_SECTIONS="DETAIL" | |
# Or setting this macro value ENABLED_SECTIONS="DETAIL" in /doxygen/sort_doxyfile.txt for Standalone Doxygen documentaation. | |
# This might be useful for maintainers. | |
: | |
<doxygen:param>PROJECT_NAME="Sort" | |
<doxygen:param>RECURSIVE=NO | |
<doxygen:param>ENABLE_PREPROCESSING=YES | |
<doxygen:param>EXPAND_ONLY_PREDEF=YES | |
<doxygen:param>EXTRACT_ALL=NO | |
<doxygen:param>EXTRACT_PRIVATE=NO | |
<doxygen:param>HIDE_UNDOC_MEMBERS=YES | |
<doxygen:param>MACRO_EXPANSION=YES | |
<doxygen:param>SORT_MEMBER_DOCS=NO | |
<doxygen:param>SHOW_INCLUDE_FILES=NO | |
<doxygen:param>MAX_INITIALIZER_LINES=0 | |
<doxygen:param>VERBATIM_HEADERS=NO | |
<doxygen:param>WARNINGS=NO # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings for undocumented members. | |
# If EXTRACT_ALL is set to YES then this flag will automatically be disabled. | |
<doxygen:param>WARN_IF_UNDOCUMENTED=NO # If WARN_IF_UNDOCUMENTED is set to YES, | |
# then doxygen will generate warnings for all undocumented members. | |
<doxygen:param>WARN_IF_DOC_ERROR=YES # If WARN_IF_DOC_ERROR is set to YES, Doxygen will generate warnings for | |
# potential errors in the documentation. | |
<doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen. | |
# Much better to send message to a logfile than the default stderr. | |
# and make sure that there are no Doxygen errors or significant warnings in the log file. | |
#<reftitle>"Reference" # Default is "Reference" but helpful to specify library. | |
<xsl:param>"boost.doxygen.reftitle=Boost.Sort C++ Reference" | |
# See Doxygen configuration for detailed explanation of these options. | |
; | |
xml sort | |
: | |
sort.qbk # This is your 'root' Quickbook file (that may include other .qbk files). | |
; | |
boostbook standalone | |
: | |
sort | |
: | |
# http://www.sagehill.net/docbookxsl/SectionNumbering.html | |
<xsl:param>boost.root=../../../.. # modular-boost | |
<xsl:param>chapter.autolabel=0 # No Chapter numbering. | |
<xsl:param>chunk.section.depth=8 | |
<xsl:param>toc.section.depth=8 # How far down sections get TOCs. | |
<xsl:param>toc.max.depth=4 # Max depth in each TOC. | |
<xsl:param>generate.section.toc.level=1 | |
# PDF Options: | |
# TOC Generation: this is needed for FOP-0.9 and later: | |
<xsl:param>fop1.extensions=0 | |
<xsl:param>xep.extensions=1 | |
# TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9! | |
<xsl:param>fop.extensions=1 | |
# No indent on body text: | |
<xsl:param>body.start.indent=0pt | |
# Margin size: | |
<xsl:param>page.margin.inner=0.5in | |
# Margin size: | |
<xsl:param>page.margin.outer=0.5in | |
# Paper type = A4 | |
<xsl:param>paper.type=A4 | |
# Yes, we want graphics for admonishments: | |
<xsl:param>admon.graphics=1 | |
#<format>html:<xsl:param>img.src.path=$(images_location)/ | |
# Default works for html, need ./doc for PDF | |
# Set this one for PDF generation *only*: | |
# default png graphics are awful in PDF form, | |
# better use SVGs instead, if available: | |
<format>pdf:<xsl:param>img.src.path=$(images_location)/ | |
<format>pdf:<xsl:param>admon.graphics.extension=".svg" | |
<format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/ | |
<dependency>autodoc # | |
; | |
install pdfinstall | |
: standalone | |
: <location>. <install-type>PDF <name>sort.pdf | |
; | |
explicit css ; | |
explicit images ; | |
# This will run the inspect tool automatically from the doc folder | |
# but sadly seems to build the tool each time so is very slow. | |
# Also it produces lots of output from the original docs. | |
# So not very useful yet. | |
# Run inspect tool. | |
# run /boost/tools/inspect//inspect/<variant>release | |
# : $(parent) -text -brief # command line | |
# : # input files | |
# : <dependency>/boost/filesystem//boost_filesystem | |
# <test-info>always_show_run_output # requirements | |
# : inspect # test name | |
# ; | |