summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-04-09 12:42:21 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2025-04-09 16:32:20 +0300
commita3c41c6a896ed49b157ccc830e1bc665581097b4 (patch)
tree14373e50060685449a38e543e022d3604f4d519b
parentb578f7035e8123be5ba0fc2afdbcacd34b67049f (diff)
downloadmeson-a3c41c6a896ed49b157ccc830e1bc665581097b4.tar.gz
options: always look up root-project options in self.options
Previously, root-project options (key.subproject == '') would always be stored as an augment or as pending_project_options. But they might actually be included in self.options instead, so exclude them from the initial test. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--mesonbuild/options.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/options.py b/mesonbuild/options.py
index 124a4afdb..5fc16f5e1 100644
--- a/mesonbuild/options.py
+++ b/mesonbuild/options.py
@@ -1298,8 +1298,7 @@ class OptionStore:
# when building natively.
if not self.is_cross and key.is_for_build():
continue
- if key.subproject is not None:
- #self.pending_project_options[key] = valstr
+ if key.subproject:
augstr = str(key)
self.augments[augstr] = valstr
elif key in self.options:
@@ -1331,7 +1330,7 @@ class OptionStore:
# when building natively.
if not self.is_cross and key.is_for_build():
continue
- if key.subproject is not None:
+ if key.subproject:
self.pending_options[key] = valstr
elif key in self.options:
self.set_option(key, valstr, first_invocation)
@@ -1355,7 +1354,9 @@ class OptionStore:
# when building natively.
if not self.is_cross and key.is_for_build():
continue
- if key in self.options:
+ if key.subproject:
+ self.pending_options[key] = valstr
+ elif key in self.options:
self.set_option(key, valstr, True)
else:
proj_key = key.as_root()