From 5462ea921f6f55b6847986f80d333d890bf75ae4 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Mon, 9 Aug 2021 11:47:34 -0400 Subject: 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. --- mesonbuild/interpreter/interpreter.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mesonbuild') 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() -- cgit v1.1