166 lines
6.4 KiB
Plaintext
166 lines
6.4 KiB
Plaintext
# 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
|
|
# ;
|
|
|
|
###############################################################################
|
|
alias boostdoc ;
|
|
explicit boostdoc ;
|
|
alias boostrelease : standalone ;
|
|
explicit boostrelease ;
|