diff options
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') |