aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2018-03-20 16:36:29 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2018-03-25 18:27:13 +0300
commit6f7f7c69a2a30f4ea04a73b45763dc2c4f62a453 (patch)
treec0828850692551fc2c150c03b9408c0a189ed221
parente9a7b0d2a964017be48f383c38351d80bc40a723 (diff)
downloadmeson-6f7f7c69a2a30f4ea04a73b45763dc2c4f62a453.zip
meson-6f7f7c69a2a30f4ea04a73b45763dc2c4f62a453.tar.gz
meson-6f7f7c69a2a30f4ea04a73b45763dc2c4f62a453.tar.bz2
dependency's wanted version might be a list
A dependency declared in a subproject should be able to behave as a pkgconfig dependency, thus it should process the wanted version as a list.
-rw-r--r--mesonbuild/interpreter.py2
-rw-r--r--test cases/common/187 subproject version/meson.build10
-rw-r--r--test cases/common/187 subproject version/subprojects/a/meson.build5
3 files changed, 16 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 16798a4..c87a49b 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2349,7 +2349,7 @@ to directly access options of other subprojects.''')
def check_subproject_version(wanted, found):
if wanted == 'undefined':
return True
- if found == 'undefined' or not mesonlib.version_compare(found, wanted):
+ if found == 'undefined' or not mesonlib.version_compare_many(found, wanted)[0]:
return False
return True
diff --git a/test cases/common/187 subproject version/meson.build b/test cases/common/187 subproject version/meson.build
new file mode 100644
index 0000000..bd8fc03
--- /dev/null
+++ b/test cases/common/187 subproject version/meson.build
@@ -0,0 +1,10 @@
+project('subproject version', 'c',
+ version : '2.3.4',
+ license: 'mylicense')
+
+subproject('a')
+
+liba_dep = dependency('a',
+ fallback: ['a', 'liba_dep'],
+ version: ['>= 0.30.0', '!= 0.99.0'])
+
diff --git a/test cases/common/187 subproject version/subprojects/a/meson.build b/test cases/common/187 subproject version/subprojects/a/meson.build
new file mode 100644
index 0000000..dae3130
--- /dev/null
+++ b/test cases/common/187 subproject version/subprojects/a/meson.build
@@ -0,0 +1,5 @@
+project('mysubproject', 'c',
+ version : '1.0.0',
+ license : 'sublicense')
+
+liba_dep = declare_dependency (version : '1.0.0')