diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-05-30 03:34:38 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-06-01 13:06:23 +0530 |
commit | fdc95c2ea413ad9d13b5cc3385fd0904b3361837 (patch) | |
tree | a9782b727d424881ebf3b958fb54b32544da60d9 | |
parent | 8c34ea645dfcc2e5043be93fa0f692c24a153a56 (diff) | |
download | meson-fdc95c2ea413ad9d13b5cc3385fd0904b3361837.zip meson-fdc95c2ea413ad9d13b5cc3385fd0904b3361837.tar.gz meson-fdc95c2ea413ad9d13b5cc3385fd0904b3361837.tar.bz2 |
Add various tests for versioned dependency checking
Both pkg-config and subproject-based dependencies
Linux-like because we need zlib for the tests to work
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') |