aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mintro.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2024-04-14 12:58:30 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2025-02-13 15:26:44 +0200
commit518c732ea9b0f1975f6f28accff3286be4106538 (patch)
tree2be9544828545a2f9f0676efc6eb82ac197ec4bd /mesonbuild/mintro.py
parentea678ed82938ceac00682b2695b57193d36b71b4 (diff)
downloadmeson-optionrefactor3.zip
meson-optionrefactor3.tar.gz
meson-optionrefactor3.tar.bz2
Make all Meson level options overridable per subproject.optionrefactor3
Diffstat (limited to 'mesonbuild/mintro.py')
-rw-r--r--mesonbuild/mintro.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py
index 383f154..8ec2b1f 100644
--- a/mesonbuild/mintro.py
+++ b/mesonbuild/mintro.py
@@ -336,7 +336,15 @@ def list_buildoptions(coredata: cdata.CoreData, subprojects: T.Optional[T.List[s
'compiler',
)
add_keys(dir_options, 'directory')
- add_keys({k: v for k, v in coredata.optstore.items() if coredata.optstore.is_project_option(k)}, 'user')
+
+ def project_option_key_to_introname(key: OptionKey) -> OptionKey:
+ assert key.subproject is not None
+ if key.subproject == '':
+ return key.evolve(subproject=None)
+ return key
+
+ add_keys({project_option_key_to_introname(k): v
+ for k, v in coredata.optstore.items() if coredata.optstore.is_project_option(k)}, 'user')
add_keys(test_options, 'test')
return optlist