from buildutils import * Import('env', 'build', 'install') localenv = env.Clone() if localenv['doxygen_docs']: if localenv['graphvizdir']: localenv.Append(PATH=localenv['graphvizdir']) docs = build(localenv.Command('#build/docs/doxygen/html/index.html', 'doxygen/Doxyfile', 'doxygen $SOURCE')) env.Alias('doxygen', docs) install(pjoin('$inst_docdir', 'doxygen/html'), mglob(localenv, '#/build/docs/doxygen/html', 'html', 'svg', 'css', 'png')) if localenv['sphinx_docs']: localenv['SPHINXBUILD'] = Dir('#build/docs/sphinx') localenv['SPHINXSRC'] = Dir('sphinx') sphinxdocs = build(localenv.Command('${SPHINXBUILD}/html/index.html', 'sphinx/conf.py', '${sphinx_cmd} -b html -d ${SPHINXBUILD}/doctrees ${SPHINXSRC} ${SPHINXBUILD}/html')) env.Alias('sphinx', sphinxdocs) # Python examples: Create individual documentation pages with the source # for each example example_root = Dir('#interfaces/cython/cantera/examples').abspath for subdir in subdirs(example_root): for f in mglob(env, pjoin(example_root, subdir), 'py'): tmpenv = env.Clone() tmpenv['script_name'] = f.name tmpenv['script_path'] = '../../../../interfaces/cython/cantera/examples/%s/%s' % (subdir, f.name) b = tmpenv.SubstFile('#doc/sphinx/cython/examples/%s_%s.rst' % (subdir, f.name[:-3]), '#doc/sphinx/cython/example-script.rst.in') build(b) localenv.Depends(sphinxdocs, b) # Matlab examples: create individual documentation pages with the source # for each example for f in mglob(env, '#samples/matlab', 'm'): tmpenv = env.Clone() tmpenv['script_name'] = f.name tmpenv['script_path'] = '../../../../samples/matlab/%s' % f.name b = tmpenv.SubstFile('#doc/sphinx/matlab/examples/%s.rst' % f.name[:-2], '#doc/sphinx/matlab/example-script.rst.in') build(b) localenv.Depends(sphinxdocs, b) localenv.AlwaysBuild(sphinxdocs)