From 8665ee8100e8b305e026abd6cf17841ab41f329b Mon Sep 17 00:00:00 2001 From: Dean Moldovan Date: Thu, 17 Aug 2017 15:01:43 +0200 Subject: [PATCH] Fix documentation build * Doxygen needs `RECURSIVE = YES` in order to parse the `detail` subdir. * The `-W` warnings-as-errors option for sphinx doesn't work with the makefile build. Switched to calling sphinx directly. * Fix "citation [cppimport] is not referenced" warning. --- .travis.yml | 2 +- docs/Doxyfile | 1 + docs/compiling.rst | 8 ++++---- docs/conf.py | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index ae64317ab..904fb9966 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,7 +73,7 @@ matrix: curl -fsSL ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.12.linux.bin.tar.gz | tar xz export PATH="$PWD/doxygen-1.8.12/bin:$PATH" script: - - make -C docs html SPHINX_OPTIONS=-W + - $PY_CMD -m sphinx -W -b html docs docs/.build - tools/check-style.sh - flake8 cache: diff --git a/docs/Doxyfile b/docs/Doxyfile index 4dc8bf059..1b9d1297c 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -1,5 +1,6 @@ PROJECT_NAME = pybind11 INPUT = ../include/pybind11/ +RECURSIVE = YES GENERATE_HTML = NO GENERATE_LATEX = NO diff --git a/docs/compiling.rst b/docs/compiling.rst index 90b382952..67bd75cc6 100644 --- a/docs/compiling.rst +++ b/docs/compiling.rst @@ -14,10 +14,10 @@ the [python_example]_ repository. Building with cppimport ======================== - cppimport is a small Python import hook that determines whether there is a C++ - source file whose name matches the requested module. If there is, the file is - compiled as a Python extension using pybind11 and placed in the same folder as - the C++ source file. Python is then able to find the module and load it. +[cppimport]_ is a small Python import hook that determines whether there is a C++ +source file whose name matches the requested module. If there is, the file is +compiled as a Python extension using pybind11 and placed in the same folder as +the C++ source file. Python is then able to find the module and load it. .. [cppimport] https://github.com/tbenthompson/cppimport diff --git a/docs/conf.py b/docs/conf.py index 9f29304a2..81ff26ec8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -314,13 +314,13 @@ highlight_language = 'cpp' def generate_doxygen_xml(app): - build_dir = '.build' + build_dir = os.path.join(app.confdir, '.build') if not os.path.exists(build_dir): os.mkdir(build_dir) try: subprocess.call(['doxygen', '--version']) - retcode = subprocess.call(['doxygen']) + retcode = subprocess.call(['doxygen'], cwd=app.confdir) if retcode < 0: sys.stderr.write("doxygen error code: {}\n".format(-retcode)) except OSError as e: