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.
This commit is contained in:
Dean Moldovan 2017-08-17 15:01:43 +02:00
parent 0d703f6e7c
commit 8665ee8100
4 changed files with 8 additions and 7 deletions

View File

@ -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:

View File

@ -1,5 +1,6 @@
PROJECT_NAME = pybind11
INPUT = ../include/pybind11/
RECURSIVE = YES
GENERATE_HTML = NO
GENERATE_LATEX = NO

View File

@ -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

View File

@ -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: