#!/usr/bin/env python def build(bld): dox_to_sphinx = bld.path.find_node("../../scripts/dox_to_sphinx.py") index_xml = bld.path.get_bld().make_node("xml/index.xml") files = [ ("../_static/custom.css", "sphinx/_static/custom.css"), ("../_templates/about.html", "sphinx/_templates/about.html"), ("../sratom.rst", "sphinx/sratom.rst"), ("index.rst", "sphinx/index.rst"), ("overview.rst", "sphinx/overview.rst"), ("reference.rst", "sphinx/reference.rst"), ] # Run Doxygen to generate XML documentation bld(features="doxygen", doxyfile="Doxyfile") # Substitute variables to make Sphinx configuration file bld(features="subst", source="../conf.py.in", target="sphinx/conf.py", SERD_VERSION=bld.env.SERD_VERSION) # Copy static documentation files to Sphinx build directory for f in files: bld(features="subst", is_copy=True, source=f[0], target=f[1]) # Generate Sphinx markup from Doxygen XML bld.add_group() bld(rule="${PYTHON} " + dox_to_sphinx.abspath() + " -f ${SRC} ${TGT}", source=index_xml, target="sphinx/api/") # Run Sphinx to generate HTML documentation doc_dir = bld.env.DOCDIR + "/sratom-%s/" % bld.env.SRATOM_MAJOR_VERSION bld(features="sphinx", sphinx_source=bld.path.get_bld().make_node("sphinx"), sphinx_output_format="singlehtml", sphinx_options=["-E", "-q"], install_path=doc_dir + "c/singlehtml/")