mirror of https://gitlab.com/ita1024/waf.git
sphinx: separate output dir for each format, while retaining install paths
This commit is contained in:
parent
10c3ee7755
commit
f233a7fa41
|
@ -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 <build + output_format> 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)
|
||||
|
|
Loading…
Reference in New Issue