summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2025-02-17 20:23:00 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2025-02-18 00:23:25 +0200
commit5442f04f47f01a7b2fb768ff9500e21810a23f35 (patch)
tree944c1dc4f5e2fc44a04d9f4af47e09d6f0d659e7
parenteca1ac18dc1978b15b500c9f1710c05cb1ccc0ec (diff)
downloadmeson-5442f04f47f01a7b2fb768ff9500e21810a23f35.tar.gz
Improve error message on nonexisting options.
-rw-r--r--mesonbuild/interpreter/interpreter.py7
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