diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2018-08-23 09:12:27 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-23 09:12:27 -0400 |
commit | 3f3ae097d5a0c32b384aa3c2627cd88b66e66ea7 (patch) | |
tree | 02b41228c21958f5cb89f13f75c4eb2ae16c4778 /mesonbuild/interpreter.py | |
parent | 54aed1a92c282b88060a32586d47fd86a4866f03 (diff) | |
parent | 05cab3dee5c1352e36c03f19966511d9c51d8db8 (diff) | |
download | meson-3f3ae097d5a0c32b384aa3c2627cd88b66e66ea7.zip meson-3f3ae097d5a0c32b384aa3c2627cd88b66e66ea7.tar.gz meson-3f3ae097d5a0c32b384aa3c2627cd88b66e66ea7.tar.bz2 |
Merge pull request #3769 from xclaesse/command-line-step2
Command line step2
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 0b4cbce..04e963a 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2279,21 +2279,19 @@ external dependencies (including libraries) must go to "dependencies".''') return self.subprojects[dirname] def get_option_internal(self, optname): + # Some base options are not defined in some environments, return the + # default value from compilers.base_options in that case. + for d in [self.coredata.base_options, compilers.base_options, + self.coredata.builtins, self.coredata.compiler_options]: + try: + return d[optname] + except KeyError: + pass + raw_optname = optname - try: - return self.coredata.base_options[optname] - except KeyError: - pass - try: - return self.coredata.builtins[optname] - except KeyError: - pass - try: - return self.coredata.compiler_options[optname] - except KeyError: - pass - if not coredata.is_builtin_option(optname) and self.is_subproject(): + if self.is_subproject(): optname = self.subproject + ':' + optname + try: opt = self.coredata.user_options[optname] if opt.yielding and ':' in optname and raw_optname in self.coredata.user_options: @@ -2313,11 +2311,7 @@ external dependencies (including libraries) must go to "dependencies".''') return opt except KeyError: pass - # Some base options are not defined in some environments, return the default value. - try: - return compilers.base_options[optname] - except KeyError: - pass + raise InterpreterException('Tried to access unknown option "%s".' % optname) @stringArgs |