summaryrefslogtreecommitdiffstats
path: root/Utilities/Sphinx/cmake.py
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/Sphinx/cmake.py')
-rw-r--r--Utilities/Sphinx/cmake.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py
index e4e06ab..32edc44 100644
--- a/Utilities/Sphinx/cmake.py
+++ b/Utilities/Sphinx/cmake.py
@@ -457,6 +457,19 @@ class CMakeDomain(Domain):
for fullname in to_clear:
del self.data['objects'][fullname]
+ def merge_domaindata(self, docnames, otherdata):
+ """Merge domaindata from the workers/chunks when they return.
+
+ Called once per parallelization chunk.
+ Only used when sphinx is run in parallel mode.
+
+ :param docnames: a Set of the docnames that are part of the current chunk to merge
+ :param otherdata: the partial data calculated by the current chunk
+ """
+ for refname, (docname, objtype) in otherdata['objects'].items():
+ if docname in docnames:
+ self.data['objects'][refname] = (docname, objtype)
+
def resolve_xref(self, env, fromdocname, builder,
typ, target, node, contnode):
targetid = '%s:%s' % (typ, target)