diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-08-14 17:41:18 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2020-09-02 12:55:31 -0400 |
commit | 9365486104dc66ee05d5bfaf97a0e83ce9d1289d (patch) | |
tree | 778b787e9973e3b0eab2bf80903a2e77aeca3634 /test cases | |
parent | bfb8d25deb794e9506775caa023bbf278dcf17e1 (diff) | |
download | meson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.zip meson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.tar.gz meson-9365486104dc66ee05d5bfaf97a0e83ce9d1289d.tar.bz2 |
Special case meson.version().version_compare() statement
when that statement gets evaluated, the interpreter remembers the
version target and if it was part of the evaluation of a `if` condition
then the target meson version is temporally overriden within that
if-block.
Fixes: #7590
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/unit/82 meson version compare/meson.build | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test cases/unit/82 meson version compare/meson.build b/test cases/unit/82 meson version compare/meson.build new file mode 100644 index 0000000..ed69a8b --- /dev/null +++ b/test cases/unit/82 meson version compare/meson.build @@ -0,0 +1,17 @@ +project('version compare', meson_version: '>= 0.1') + +if meson.version().version_compare('>= 9999') + error('This should not be executed') +elif meson.version().version_compare('>= 0.55') and false + error('This should not be executed') +elif not meson.version().version_compare('>= 0.55') + error('This should not be executed') +elif meson.version().version_compare('>= 0.55') + # This Should not produce warning even when using function not available in + # meson 0.1. + foo_dep = declare_dependency() + meson.override_dependency('foo', foo_dep) +endif + +# This will error out if elif cause did not enter +assert(foo_dep.found(), 'meson.version_compare did not work') |