1#  (C) Copyright Edward Diener 2011
2#  Use, modification and distribution are subject to the Boost Software License,
3#  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4#  http://www.boost.org/LICENSE_1_0.txt).
5#
6# TypeTraitsIntrospection documentation Jamfile
7#
8
9using quickbook ;
10using doxygen ;
11
12path-constant here : . ; # convenient to refer to files in the same directory as this jamfile.v2
13path-constant boost-images : $(BOOST_ROOT)/doc/src/images ;
14
15import modules ;
16
17if --enable-index in  [ modules.peek : ARGV ]
18{
19   ECHO "Building the tti docs with automatic index generation enabled." ;
20   using auto-index ;
21   project tti_doc : requirements
22             <auto-index>on
23             <auto-index-script>index.idx
24             <auto-index-prefix>../../../
25             <auto-index-verbose>on
26             <format>html:<auto-index-internal>on
27             <format>html:<xsl:param>generate.index=0
28             <format>pdf:<auto-index-internal>on
29             <format>pdf:<xsl:param>index.on.type=1
30             <quickbook-define>enable_index ;
31}
32else
33{
34   project tti_doc ;
35   ECHO "Building the tti docs with automatic index generation disabled. Try building with --enable-index." ;
36}
37
38doxygen tti_reference
39  :
40    $(here)/../../../boost/tti/has_data.hpp
41    $(here)/../../../boost/tti/has_function.hpp
42    $(here)/../../../boost/tti/has_member_data.hpp
43    $(here)/../../../boost/tti/has_member_function.hpp
44    $(here)/../../../boost/tti/has_static_member_data.hpp
45    $(here)/../../../boost/tti/has_static_member_function.hpp
46    $(here)/../../../boost/tti/has_template.hpp
47    $(here)/../../../boost/tti/has_type.hpp
48    $(here)/../../../boost/tti/member_type.hpp
49    $(here)/../../../boost/tti/gen/has_data_gen.hpp
50    $(here)/../../../boost/tti/gen/has_function_gen.hpp
51    $(here)/../../../boost/tti/gen/has_member_data_gen.hpp
52    $(here)/../../../boost/tti/gen/has_member_function_gen.hpp
53    $(here)/../../../boost/tti/gen/has_static_member_data_gen.hpp
54    $(here)/../../../boost/tti/gen/has_static_member_function_gen.hpp
55    $(here)/../../../boost/tti/gen/has_template_gen.hpp
56    $(here)/../../../boost/tti/gen/has_type_gen.hpp
57    $(here)/../../../boost/tti/gen/member_type_gen.hpp
58    $(here)/../../../boost/tti/gen/namespace_gen.hpp
59  :
60    <doxygen:param>PROJECT_NAME="TTI"
61    <doxygen:param>PROJECT_NUMBER=1
62    <doxygen:param>SORT_MEMBER_DOCS=NO
63    <doxygen:param>SHOW_INCLUDE_FILES=NO
64    <doxygen:param>MAX_INITIALIZER_LINES=0
65    <doxygen:param>VERBATIM_HEADERS=NO
66    <doxygen:param>PREDEFINED=BOOST_PP_VARIADICS
67    <reftitle>"Reference"
68;
69
70xml tti
71  :
72    tti.qbk
73  :
74    <dependency>tti_reference
75;
76
77boostbook standalone
78  :
79     tti
80  :
81  <xsl:param>boost.root="../../../.."
82  <xsl:param>chunk.section.depth=8  # How far down we chunk nested sections, basically all of them.
83  <xsl:param>toc.section.depth=8  # How far down sections get TOCs.
84  <xsl:param>toc.max.depth=4  # Max depth in each TOC.
85
86  # PDF Options:
87  # TOC Generation: this is needed for FOP-0.9 and later:
88  <xsl:param>fop1.extensions=0
89  <xsl:param>xep.extensions=1
90  # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
91  <xsl:param>fop.extensions=0
92  # No indent on body text:
93  <xsl:param>body.start.indent=0pt
94  # Margin size:
95  <xsl:param>page.margin.inner=0.5in
96  # Margin size:
97  <xsl:param>page.margin.outer=0.5in
98  # Paper type = A4
99  <xsl:param>paper.type=A4
100  # Yes, we want graphics for admonishments:
101  <xsl:param>admon.graphics=1
102  # Set this one for PDF generation *only*:
103  # default pnd graphics are awful in PDF form,
104  # better use SVG's instead:
105  <format>pdf:<xsl:param>admon.graphics.extension=".svg"
106  <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
107  ;
108
109install pdfinstall
110    : standalone
111    : <location>$(here) <install-type>PDF <name>TypeTraitsIntrospection.pdf
112    ;
113