Jamfile.v2 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. # Spreadsort documentation Jamfile
  2. # Copyright (c) 2014 Steven Ross
  3. #
  4. # Distributed under the Boost Software License,
  5. # Version 1.0. (See accompanying file LICENSE_1_0.txt
  6. # or copy at http://boost.org/LICENSE_1_0.txt)
  7. # Reminder: whitespace MUST terminate variable name!
  8. # so spaces or newlines BEFORE ; and : and AFTER too.
  9. # (because : and ; are keywords!)
  10. import doxygen ;
  11. import quickbook ;
  12. import os ; # Needed to get environment variables.
  13. import modules ;
  14. path-constant here : . ; # convenient to refer to files in the same directory as this jamfile.v2
  15. path-constant boost-images : ../../../doc/src/images ;
  16. path-constant images_location : ./doc ; # location of SVG and PNG images referenced by Quickbook.
  17. # http://docbook.sourceforge.net/release/xsl/1.77.1/doc/html/img.src.path.html
  18. # relative to /doc ?
  19. path-constant parent : .. ; # Beman Dawes - so that inspect.exe will start in boost-root/libs/timer
  20. # when run from another directory, such as boost-root/status
  21. using auto-index ;
  22. using doxygen ; # Required if you want to use Doxygen.
  23. using quickbook ;
  24. using boostbook ;
  25. if --enable-index in [ modules.peek : ARGV ]
  26. {
  27. ECHO "Building the Spreadsort docs with automatic index generation enabled." ;
  28. using auto-index ;
  29. project sort_doc : requirements
  30. <auto-index>on
  31. <auto-index-script>sort.idx
  32. <auto-index-prefix>.
  33. <auto-index-verbose>on
  34. <format>html:<auto-index-internal>on
  35. <format>html:<xsl:param>generate.index=0
  36. <format>pdf:<auto-index-internal>on
  37. <format>pdf:<xsl:param>index.on.type=1
  38. <quickbook-define>enable_index ;
  39. }
  40. else
  41. {
  42. project sort_doc ;
  43. ECHO "Building the Spreadsort docs with automatic index generation disabled. Try building with --enable-index." ;
  44. }
  45. doxygen autodoc
  46. :
  47. [ glob $(here)/../include/boost/sort.hpp ]
  48. [ glob $(here)/../include/boost/sort/spreadsort/*.hpp ]
  49. # [ glob $(here)/../include/boost/sort/detail/spreadsort/*.hpp ] # Hide implementation/detail for now.
  50. # but could also include this and switch Boost.Sort C++ reference info to include implementation/detail or not using Doxygen macro DETAIL.
  51. # See http://www.stack.nl/~dimitri/doxygen/manual/commands.html#cmdcond
  52. # and http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_enabled_sections
  53. # by adding this line below with other Doxygen parameters
  54. # <doxygen:param>ENABLED_SECTIONS="DETAIL"
  55. # Or setting this macro value ENABLED_SECTIONS="DETAIL" in /doxygen/sort_doxyfile.txt for Standalone Doxygen documentaation.
  56. # This might be useful for maintainers.
  57. :
  58. <doxygen:param>PROJECT_NAME="Sort"
  59. <doxygen:param>RECURSIVE=NO
  60. <doxygen:param>ENABLE_PREPROCESSING=YES
  61. <doxygen:param>EXPAND_ONLY_PREDEF=YES
  62. <doxygen:param>EXTRACT_ALL=NO
  63. <doxygen:param>EXTRACT_PRIVATE=NO
  64. <doxygen:param>HIDE_UNDOC_MEMBERS=YES
  65. <doxygen:param>MACRO_EXPANSION=YES
  66. <doxygen:param>SORT_MEMBER_DOCS=NO
  67. <doxygen:param>SHOW_INCLUDE_FILES=NO
  68. <doxygen:param>MAX_INITIALIZER_LINES=0
  69. <doxygen:param>VERBATIM_HEADERS=NO
  70. <doxygen:param>WARNINGS=NO # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings for undocumented members.
  71. # If EXTRACT_ALL is set to YES then this flag will automatically be disabled.
  72. <doxygen:param>WARN_IF_UNDOCUMENTED=NO # If WARN_IF_UNDOCUMENTED is set to YES,
  73. # then doxygen will generate warnings for all undocumented members.
  74. <doxygen:param>WARN_IF_DOC_ERROR=YES # If WARN_IF_DOC_ERROR is set to YES, Doxygen will generate warnings for
  75. # potential errors in the documentation.
  76. <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen.
  77. # Much better to send message to a logfile than the default stderr.
  78. # and make sure that there are no Doxygen errors or significant warnings in the log file.
  79. #<reftitle>"Reference" # Default is "Reference" but helpful to specify library.
  80. <xsl:param>"boost.doxygen.reftitle=Boost.Sort C++ Reference"
  81. # See Doxygen configuration for detailed explanation of these options.
  82. ;
  83. xml sort
  84. :
  85. sort.qbk # This is your 'root' Quickbook file (that may include other .qbk files).
  86. ;
  87. boostbook standalone
  88. :
  89. sort
  90. :
  91. # http://www.sagehill.net/docbookxsl/SectionNumbering.html
  92. <xsl:param>boost.root=../../../.. # modular-boost
  93. <xsl:param>chapter.autolabel=0 # No Chapter numbering.
  94. <xsl:param>chunk.section.depth=8
  95. <xsl:param>toc.section.depth=8 # How far down sections get TOCs.
  96. <xsl:param>toc.max.depth=4 # Max depth in each TOC.
  97. <xsl:param>generate.section.toc.level=1
  98. # PDF Options:
  99. # TOC Generation: this is needed for FOP-0.9 and later:
  100. <xsl:param>fop1.extensions=0
  101. <xsl:param>xep.extensions=1
  102. # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
  103. <xsl:param>fop.extensions=1
  104. # No indent on body text:
  105. <xsl:param>body.start.indent=0pt
  106. # Margin size:
  107. <xsl:param>page.margin.inner=0.5in
  108. # Margin size:
  109. <xsl:param>page.margin.outer=0.5in
  110. # Paper type = A4
  111. <xsl:param>paper.type=A4
  112. # Yes, we want graphics for admonishments:
  113. <xsl:param>admon.graphics=1
  114. #<format>html:<xsl:param>img.src.path=$(images_location)/
  115. # Default works for html, need ./doc for PDF
  116. # Set this one for PDF generation *only*:
  117. # default png graphics are awful in PDF form,
  118. # better use SVGs instead, if available:
  119. <format>pdf:<xsl:param>img.src.path=$(images_location)/
  120. <format>pdf:<xsl:param>admon.graphics.extension=".svg"
  121. <format>pdf:<xsl:param>admon.graphics.path=$(boost-images)/
  122. <dependency>autodoc #
  123. ;
  124. install pdfinstall
  125. : standalone
  126. : <location>. <install-type>PDF <name>sort.pdf
  127. ;
  128. explicit css ;
  129. explicit images ;
  130. # This will run the inspect tool automatically from the doc folder
  131. # but sadly seems to build the tool each time so is very slow.
  132. # Also it produces lots of output from the original docs.
  133. # So not very useful yet.
  134. # Run inspect tool.
  135. # run /boost/tools/inspect//inspect/<variant>release
  136. # : $(parent) -text -brief # command line
  137. # : # input files
  138. # : <dependency>/boost/filesystem//boost_filesystem
  139. # <test-info>always_show_run_output # requirements
  140. # : inspect # test name
  141. # ;
  142. ###############################################################################
  143. alias boostdoc ;
  144. explicit boostdoc ;
  145. alias boostrelease : standalone ;
  146. explicit boostrelease ;