diff --git a/waflib/extras/sphinx.py b/waflib/extras/sphinx.py index ba50bc1b..7d88f8ad 100644 --- a/waflib/extras/sphinx.py +++ b/waflib/extras/sphinx.py @@ -64,12 +64,12 @@ def build_sphinx(self): for cfmt in self.sphinx_output_format: sphinx_build_task = self.create_task('SphinxBuildingTask') sphinx_build_task.set_inputs(self.sphinx_source) - sphinx_build_task.set_outputs(self.path.get_bld()) # In task we keep the specific format this task is generating sphinx_build_task.env.SPHINX_OUTPUT_FORMAT = cfmt # the sphinx-build results are in directory sphinx_build_task.sphinx_output_directory = self.path.get_bld().make_node(cfmt) + sphinx_build_task.set_outputs(sphinx_build_task.sphinx_output_directory) sphinx_build_task.sphinx_output_directory.mkdir() Utils.def_attrs(sphinx_build_task, install_path=getattr(self, 'install_path_' + cfmt, getattr(self, 'install_path', get_install_path(sphinx_build_task)))) @@ -87,7 +87,6 @@ def get_install_path(object): class SphinxBuildingTask(Task.Task): color = 'BOLD' run_str = '${SPHINX_BUILD} -M ${SPHINX_OUTPUT_FORMAT} ${SRC} ${TGT} ${SPHINX_OPTIONS}' - no_errcheck_out = 'yes' # Needed for multiple formats uses same root out dir def keyword(self): return 'Compiling (%s)' % self.env.SPHINX_OUTPUT_FORMAT @@ -117,5 +116,5 @@ class SphinxBuildingTask(Task.Task): self.generator.add_install_files(install_to=self.install_path, install_from=nodes, postpone=False, - cwd=self.sphinx_output_directory, + cwd=self.sphinx_output_directory.make_node(self.env.SPHINX_OUTPUT_FORMAT), relative_trick=True)