diff options
| author | Eli Schwartz <eschwartz93@gmail.com> | 2025-11-10 11:01:01 -0500 |
|---|---|---|
| committer | Eli Schwartz <eschwartz93@gmail.com> | 2025-11-14 03:16:18 -0500 |
| commit | 2f1bc62dfff6c9b24ad524bca3637572ef304bf3 (patch) | |
| tree | 19586ca70e1614994a9ccb6177289c67d365726b /mesonbuild/interpreter | |
| parent | 74395f67e702848d5148c165ce8dbf442fc18636 (diff) | |
| download | meson-2f1bc62dfff6c9b24ad524bca3637572ef304bf3.tar.gz | |
version_compare with meson.version() override should log when it doesn't work
meson_version: '>=1.8.0' works to control FeatureNew -- but < does not.
Likewise with version_compare.
This may or may not surprise people. Leave a hint in the logfile.
Diffstat (limited to 'mesonbuild/interpreter')
| -rw-r--r-- | mesonbuild/interpreter/primitives/string.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/primitives/string.py b/mesonbuild/interpreter/primitives/string.py index df10c568d..86616a39d 100644 --- a/mesonbuild/interpreter/primitives/string.py +++ b/mesonbuild/interpreter/primitives/string.py @@ -7,6 +7,7 @@ import os import typing as T +from ... import mlog from ...mesonlib import version_compare, version_compare_many, underscorify from ...interpreterbase import ( InterpreterObject, @@ -200,6 +201,13 @@ class MesonVersionStringHolder(StringHolder): @typed_pos_args('str.version_compare', str) @InterpreterObject.method('version_compare') def version_compare_method(self, args: T.Tuple[str], kwargs: TYPE_kwargs) -> bool: + unsupported = [] + if not args[0].strip().startswith('>'): + unsupported.append('non-upper-bounds (> or >=) constraints') + if unsupported: + mlog.debug('meson.version().version_compare() with', ' or '.join(unsupported), + 'does not support overriding minimum meson_version checks.') + self.interpreter.tmp_meson_version = args[0] return version_compare(self.held_object, args[0]) |
