summaryrefslogtreecommitdiff
path: root/mesonbuild/options.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/options.py')
-rw-r--r--mesonbuild/options.py9
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