diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-09-03 21:49:58 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-09-04 22:50:17 -0700 |
commit | 68cfe1bb52ffa033796fe87493d0107d77ff9f74 (patch) | |
tree | 40b39ceef216c8e045cd83964b6dba58ef9cb265 /mesonbuild/interpreter.py | |
parent | 73cbf4113a87aec2821982e9e5613185c63ab78b (diff) | |
download | meson-68cfe1bb52ffa033796fe87493d0107d77ff9f74.zip meson-68cfe1bb52ffa033796fe87493d0107d77ff9f74.tar.gz meson-68cfe1bb52ffa033796fe87493d0107d77ff9f74.tar.bz2 |
Test + fix for not-found dependency fallback version comparison
Fixes:
meson.build:6:0: ERROR: Uncomparable version string 'unknown'.
This was previously partially fixed in a8694f4b, which only fixed it
for cached fallback dependencies.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 9bd21e3..98fab7c 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -3069,7 +3069,8 @@ root and issuing %s. msg.append(traceback.format_exc()) mlog.log(*msg) return None - dep = self.get_subproject_dep(name, dirname, varname, kwargs.get('required', True)) + required = kwargs.get('required', True) + dep = self.get_subproject_dep(name, dirname, varname, required) if not dep: return None subproj_path = os.path.join(self.subproject_dir, dirname) @@ -3077,6 +3078,12 @@ root and issuing %s. if 'version' in kwargs: wanted = kwargs['version'] found = dep.version_method([], {}) + # Don't do a version check if the dependency is not found and not required + if not dep.found_method([], {}) and not required: + subproj_path = os.path.join(self.subproject_dir, dirname) + mlog.log('Dependency', mlog.bold(display_name), 'from subproject', + mlog.bold(subproj_path), 'found:', mlog.red('NO')) + return dep if not self.check_subproject_version(wanted, found): mlog.log('Subproject', mlog.bold(subproj_path), 'dependency', mlog.bold(display_name), 'version is', mlog.bold(found), |