diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-18 13:37:04 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-02-27 13:30:06 -0800 |
| commit | 25f7e33a22967af8c8f91c46029a8fd4d5d78e78 (patch) | |
| tree | 049c1d76309e327f4d8e5ebd4c9fb75c3d6874f9 /mesonbuild/interpreter/interpreter.py | |
| parent | 8ebc8c1878852f914172b99135d2960429402204 (diff) | |
| download | meson-25f7e33a22967af8c8f91c46029a8fd4d5d78e78.tar.gz | |
Maintain bw compatibility for requesting bad options.
Closes: #14255.
Diffstat (limited to 'mesonbuild/interpreter/interpreter.py')
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 9c37ffb25..0b16266f7 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1083,9 +1083,14 @@ class Interpreter(InterpreterBase, HoldableObject): try: value_object, value = self.coredata.optstore.get_option_from_meson_file(options.OptionKey(optname, self.subproject)) except KeyError: - if self.subproject: - raise MesonException(f'Option {optname} does not exist for subproject {self.subproject}.') - raise MesonException(f'Option {optname} does not exist.') + if self.coredata.optstore.is_base_option(optname): + # Due to backwards compatibility return the default + # option for base options instead of erroring out. + value_object, value = self.get_default_for_b_option(optname) + else: + if self.subproject: + raise MesonException(f'Option {optname} does not exist for subproject {self.subproject}.') + raise MesonException(f'Option {optname} does not exist.') if isinstance(value_object, options.UserFeatureOption): ocopy = copy.copy(value_object) ocopy.name = optname |
