aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-06-05 13:51:03 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-06-05 13:51:03 +0300
commitbcec44b93ba9886f0981f8c1a509d08ec8caf07f (patch)
treec4e8e3320787fdf07d863362a4ce72307ad76d72 /test cases
parent0bc00560644d20daee626533fc6e6294d92caa78 (diff)
parentfdc95c2ea413ad9d13b5cc3385fd0904b3361837 (diff)
downloadmeson-bcec44b93ba9886f0981f8c1a509d08ec8caf07f.zip
meson-bcec44b93ba9886f0981f8c1a509d08ec8caf07f.tar.gz
meson-bcec44b93ba9886f0981f8c1a509d08ec8caf07f.tar.bz2
Merge pull request #573 from centricular/dependency-versions
Several fixes to how versioned dependencies are handled + tests
Diffstat (limited to 'test cases')
-rw-r--r--test cases/linuxlike/5 dependency versions/meson.build28
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelib/lib.c0
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelib/meson.build8
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelibnover/lib.c0
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelibnover/meson.build8
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelibver/lib.c0
-rw-r--r--test cases/linuxlike/5 dependency versions/subprojects/somelibver/meson.build9
7 files changed, 53 insertions, 0 deletions
diff --git a/test cases/linuxlike/5 dependency versions/meson.build b/test cases/linuxlike/5 dependency versions/meson.build
new file mode 100644
index 0000000..abe3ea6
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/meson.build
@@ -0,0 +1,28 @@
+project('dep versions', 'c')
+
+# Find external dependency without version
+zlib = dependency('zlib')
+# Find external dependency with version
+zlibver = dependency('zlib', version : '>1.0')
+assert(zlib.version() == zlibver.version(), 'zlib versions did not match!')
+# Find external dependency with conflicting version
+zlibver = dependency('zlib', version : '<1.0', required : false)
+assert(zlibver.found() == false, 'zlib <1.0 should not be found!')
+
+# Find internal dependency without version
+somelibver = dependency('somelib',
+ fallback : ['somelibnover', 'some_dep'])
+# Find an internal dependency again with the same name and a specific version
+somelib = dependency('somelib',
+ version : '== 0.1',
+ fallback : ['somelib', 'some_dep'])
+# Find an internal dependency again with the same name and incompatible version
+somelibver = dependency('somelib',
+ version : '>= 0.3',
+ fallback : ['somelibver', 'some_dep'])
+# Find somelib again, but with a fallback that will fail
+somelibfail = dependency('somelib',
+ version : '>= 0.2',
+ required : false,
+ fallback : ['somelibfail', 'some_dep'])
+assert(somelibfail.found() == false, 'somelibfail found via wrong fallback')
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelib/lib.c b/test cases/linuxlike/5 dependency versions/subprojects/somelib/lib.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelib/lib.c
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelib/meson.build b/test cases/linuxlike/5 dependency versions/subprojects/somelib/meson.build
new file mode 100644
index 0000000..049c58b
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelib/meson.build
@@ -0,0 +1,8 @@
+# Define version only in project, should get inherited by declare_dependency
+project('some', 'c', version : '0.1')
+
+somelib = shared_library('some', 'lib.c')
+someinc = include_directories('.')
+
+some_dep = declare_dependency(link_with : somelib,
+ include_directories : someinc)
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/lib.c b/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/lib.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/lib.c
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/meson.build b/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/meson.build
new file mode 100644
index 0000000..826bb3c
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelibnover/meson.build
@@ -0,0 +1,8 @@
+project('some', 'c')
+
+somelib = shared_library('some', 'lib.c')
+someinc = include_directories('.')
+
+# Define version only in declare_dependency
+some_dep = declare_dependency(link_with : somelib,
+ include_directories : someinc)
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelibver/lib.c b/test cases/linuxlike/5 dependency versions/subprojects/somelibver/lib.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelibver/lib.c
diff --git a/test cases/linuxlike/5 dependency versions/subprojects/somelibver/meson.build b/test cases/linuxlike/5 dependency versions/subprojects/somelibver/meson.build
new file mode 100644
index 0000000..ad9f243
--- /dev/null
+++ b/test cases/linuxlike/5 dependency versions/subprojects/somelibver/meson.build
@@ -0,0 +1,9 @@
+project('some', 'c')
+
+somelib = shared_library('some', 'lib.c')
+someinc = include_directories('.')
+
+# Define version only in declare_dependency
+some_dep = declare_dependency(link_with : somelib,
+ include_directories : someinc,
+ version : '0.3')