From de7bc71ee3a6ecc19fbeafe9cfd3629814ff46d0 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Mon, 2 Aug 2021 12:16:58 -0400 Subject: Fix when gtest dep is found but does not pass version check GTestDependencySystem (and other similar dep classes) sets self.is_found=True, but the version check could still fail. In the case the dependency is not required `ExternalDependency._check_version()` won't raise an exception and thus the dependency is accepted. _check_version() sets self.is_found() in the case self.version is not empty, we should do it too when self.version is empty. Fixes: #9036. --- mesonbuild/dependencies/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index fd2b0699b..45aec758e 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -363,6 +363,7 @@ class ExternalDependency(Dependency, HasNativeKwarg): if self.version_reqs: # an unknown version can never satisfy any requirement if not self.version: + self.is_found = False found_msg: mlog.TV_LoggableList = [] found_msg += ['Dependency', mlog.bold(self.name), 'found:'] found_msg += [mlog.red('NO'), 'unknown version, but need:', self.version_reqs] -- cgit v1.2.3