aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/base.py
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-01-21 12:33:27 +0100
committerXavier Claessens <xclaesse@gmail.com>2021-01-21 08:54:35 -0500
commitadb1b2f3f6ad54b346348ec6e5b8d96f2f7ba0a6 (patch)
treee18fe1b3cfb0f32b76ecaa456fdd3b0a2599b53d /mesonbuild/dependencies/base.py
parent021068a8b7461a62ed4ce68ab558bc94786e0550 (diff)
downloadmeson-adb1b2f3f6ad54b346348ec6e5b8d96f2f7ba0a6.zip
meson-adb1b2f3f6ad54b346348ec6e5b8d96f2f7ba0a6.tar.gz
meson-adb1b2f3f6ad54b346348ec6e5b8d96f2f7ba0a6.tar.bz2
interpreter: accept external programs and dependencies for summary
Diffstat (limited to 'mesonbuild/dependencies/base.py')
-rw-r--r--mesonbuild/dependencies/base.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index e72f346..cd77b4b 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -134,6 +134,13 @@ class Dependency:
def is_built(self) -> bool:
return False
+ def summary_value(self) -> T.Union[str, mlog.AnsiDecorator, mlog.AnsiText]:
+ if not self.found():
+ return mlog.red('NO')
+ if not self.version:
+ return mlog.green('YES')
+ return mlog.AnsiText(mlog.green('YES'), ' ', mlog.cyan(self.version))
+
def get_compile_args(self) -> T.List[str]:
if self.include_type == 'system':
converted = []
@@ -263,6 +270,11 @@ class InternalDependency(Dependency):
setattr(result, k, copy.deepcopy(v, memo))
return result
+ def summary_value(self) -> mlog.AnsiDecorator:
+ # Omit the version. Most of the time it will be just the project
+ # version, which is uninteresting in the summary.
+ return mlog.green('YES')
+
def is_built(self) -> bool:
if self.sources or self.libraries or self.whole_libraries:
return True
@@ -1888,6 +1900,11 @@ class ExternalProgram:
else:
mlog.log('Program', mlog.bold(name), 'found:', mlog.red('NO'))
+ def summary_value(self) -> T.Union[str, mlog.AnsiDecorator]:
+ if not self.found():
+ return mlog.red('NO')
+ return self.path
+
def __repr__(self) -> str:
r = '<{} {!r} -> {!r}>'
return r.format(self.__class__.__name__, self.name, self.command)