diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2021-08-09 11:47:34 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-08-09 14:11:42 -0400 |
commit | 5462ea921f6f55b6847986f80d333d890bf75ae4 (patch) | |
tree | e961e1eeaa585e985ccbfb15bbbaf9121c041fd1 /mesonbuild | |
parent | 566383c727219fc20cf1c90c0fe7dae4bcac5c96 (diff) | |
download | meson-5462ea921f6f55b6847986f80d333d890bf75ae4.zip meson-5462ea921f6f55b6847986f80d333d890bf75ae4.tar.gz meson-5462ea921f6f55b6847986f80d333d890bf75ae4.tar.bz2 |
interpreter: Fix missing subsubproject summary when subproject fails
In the case main->subp->subsubp, if subsubp succeed to configure but
subp subsequentially fails, subsubp is still being built but its summary
was missing.
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 165889d..d4d6bb1 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -825,6 +825,7 @@ external dependencies (including libraries) must go to "dependencies".''') subi.modules = self.modules subi.holder_map = self.holder_map subi.bound_holder_map = self.bound_holder_map + subi.summary = self.summary subi.subproject_stack = self.subproject_stack + [subp_name] current_active = self.active_projectname @@ -854,7 +855,6 @@ external dependencies (including libraries) must go to "dependencies".''') self.build.merge(subi.build) self.build.subprojects[subp_name] = subi.project_version self.coredata.initialized_subprojects.add(subp_name) - self.summary.update(subi.summary) return self.subprojects[subp_name] def _do_subproject_cmake(self, subp_name, subdir, subdir_abs, default_options, kwargs): @@ -1177,8 +1177,9 @@ external dependencies (including libraries) must go to "dependencies".''') # Print all summaries, main project last. mlog.log('') # newline main_summary = self.summary.pop('', None) - for _, summary in sorted(self.summary.items()): - summary.dump() + for subp_name, summary in sorted(self.summary.items()): + if self.subprojects[subp_name].found(): + summary.dump() if main_summary: main_summary.dump() |