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: #7590pull/7686/head
parent
bfb8d25deb
commit
9365486104
4 changed files with 44 additions and 3 deletions
@ -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') |
Loading…
Reference in new issue