aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-07-02 16:39:10 -0400
committerJussi Pakkanen <jpakkane@gmail.com>2020-07-04 13:57:08 +0300
commitf66c8c35dab22f547601a48217ee8a53be28e858 (patch)
tree8efde19c1b3460deb04cbbf61d1bdc4ae58cc348 /mesonbuild/interpreter.py
parent92075f5ef3c5df3b5e6ec4ae5189e58acb2e7c3f (diff)
downloadmeson-f66c8c35dab22f547601a48217ee8a53be28e858.zip
meson-f66c8c35dab22f547601a48217ee8a53be28e858.tar.gz
meson-f66c8c35dab22f547601a48217ee8a53be28e858.tar.bz2
qt: Fix has_tools() when required=False
Improve logs by making it clear when the program is found but has wrong version.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index aad77b0..633615d 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -3320,7 +3320,8 @@ external dependencies (including libraries) must go to "dependencies".''')
# TODO update modules to always pass `for_machine`. It is bad-form to assume
# the host machine.
def find_program_impl(self, args, for_machine: MachineChoice = MachineChoice.HOST,
- required=True, silent=True, wanted='', search_dirs=None):
+ required=True, silent=True, wanted='', search_dirs=None,
+ version_func=None):
args = mesonlib.listify(args)
extra_info = []
@@ -3336,7 +3337,10 @@ external dependencies (including libraries) must go to "dependencies".''')
return progobj
if wanted:
- version = progobj.get_version(self)
+ if version_func:
+ version = version_func(progobj)
+ else:
+ version = progobj.get_version(self)
is_found, not_found, found = mesonlib.version_compare_many(version, wanted)
if not is_found:
mlog.log('Program', mlog.bold(progobj.get_name()), 'found:', mlog.red('NO'),