diff options
author | Brad King <brad.king@kitware.com> | 2023-06-23 14:40:33 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-06-23 14:40:52 (GMT) |
commit | 080196d741f4c55727609935e1107c95367d0977 (patch) | |
tree | 1b95627486933ae0b64f6eeec76ffccb97f45dd7 | |
parent | 99ea9ad947e980d179a618ff1f67fa27a30975d3 (diff) | |
parent | ac89f9ec86ffc54f8a4081a7e0ec3fbcefb39f95 (diff) | |
download | CMake-080196d741f4c55727609935e1107c95367d0977.zip CMake-080196d741f4c55727609935e1107c95367d0977.tar.gz CMake-080196d741f4c55727609935e1107c95367d0977.tar.bz2 |
Merge topic 'sphinx-domain-parallel' into release-3.27
ac89f9ec86 Merge branch 'backport-3.26-sphinx-domain-parallel'
f546ebfecc Utilities/Sphinx: Fix parallel documentation builds
4e11859e0e Utilities/Sphinx: Fix parallel documentation builds for 3.26
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: technocolordreamcoder <j_grant5@u.pacific.edu>
Merge-request: !8575
-rw-r--r-- | Utilities/Sphinx/cmake.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 0afd705..67dcec7 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py @@ -668,7 +668,7 @@ class CMakeDomain(Domain): 'manual': CMakeXRefRole(), } initial_data = { - 'objects': {}, # fullname -> docname, objtype + 'objects': {}, # fullname -> ObjectEntry } def clear_doc(self, docname): @@ -679,6 +679,20 @@ 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, obj in otherdata['objects'].items(): + if obj.docname in docnames: + self.data['objects'][refname] = obj + def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): targetid = f'{typ}:{target}' |