diff options
Diffstat (limited to 'mesonbuild/options.py')
| -rw-r--r-- | mesonbuild/options.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mesonbuild/options.py b/mesonbuild/options.py index 682d942bf..2689d6410 100644 --- a/mesonbuild/options.py +++ b/mesonbuild/options.py @@ -1059,8 +1059,13 @@ class OptionStore: def set_option_maybe_root(self, o: OptionKey, new_value: str) -> bool: if o in self.options: return self.set_option(o, new_value) - o = o.as_root() - return self.set_option(o, new_value) + if self.accept_as_pending_option(o): + old_value = self.pending_options.get(o, None) + self.pending_options[o] = new_value + return old_value is None or str(old_value) == new_value + else: + o = o.as_root() + return self.set_option(o, new_value) def set_from_configure_command(self, D_args: T.List[str], U_args: T.List[str]) -> bool: dirty = False |
