diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-17 20:23:00 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-18 00:23:25 +0200 |
| commit | 5442f04f47f01a7b2fb768ff9500e21810a23f35 (patch) | |
| tree | 944c1dc4f5e2fc44a04d9f4af47e09d6f0d659e7 | |
| parent | eca1ac18dc1978b15b500c9f1710c05cb1ccc0ec (diff) | |
| download | meson-5442f04f47f01a7b2fb768ff9500e21810a23f35.tar.gz | |
Improve error message on nonexisting options.
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 4b023a8ae..9c37ffb25 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1080,7 +1080,12 @@ class Interpreter(InterpreterBase, HoldableObject): if optname_regex.search(optname.split('.', maxsplit=1)[-1]) is not None: raise InterpreterException(f'Invalid option name {optname!r}') - value_object, value = self.coredata.optstore.get_option_from_meson_file(options.OptionKey(optname, self.subproject)) + 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 isinstance(value_object, options.UserFeatureOption): ocopy = copy.copy(value_object) ocopy.name = optname |
