diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2018-11-24 09:49:33 +0100 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2018-11-24 09:49:33 +0100 |
commit | 1f48aa595d53334a2cf2c5c9c14cb28a7b4ccbbc (patch) | |
tree | 711f2bef422b4938fdf1b5f3e97094a13825d124 /mesonbuild | |
parent | 1c8c888854e2c3ad2fbfeb3229520b8a6d3c1799 (diff) | |
download | meson-1f48aa595d53334a2cf2c5c9c14cb28a7b4ccbbc.zip meson-1f48aa595d53334a2cf2c5c9c14cb28a7b4ccbbc.tar.gz meson-1f48aa595d53334a2cf2c5c9c14cb28a7b4ccbbc.tar.bz2 |
Added 'section' key to buildoptions introspection
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/mintro.py | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py index b15a608..94dee7c 100644 --- a/mesonbuild/mintro.py +++ b/mesonbuild/mintro.py @@ -124,18 +124,43 @@ def list_target_files(target_name, coredata, builddata): def list_buildoptions(coredata, builddata): optlist = [] - add_keys(optlist, coredata.user_options) - add_keys(optlist, coredata.compiler_options) - add_keys(optlist, coredata.base_options) - add_keys(optlist, coredata.builtins) + + dir_option_names = ['prefix', + 'libdir', + 'libexecdir', + 'bindir', + 'sbindir', + 'includedir', + 'datadir', + 'mandir', + 'infodir', + 'localedir', + 'sysconfdir', + 'localstatedir', + 'sharedstatedir'] + test_option_names = ['stdsplit', + 'errorlogs'] + core_option_names = [k for k in coredata.builtins if k not in dir_option_names + test_option_names] + + dir_options = {k: o for k, o in coredata.builtins.items() if k in dir_option_names} + test_options = {k: o for k, o in coredata.builtins.items() if k in test_option_names} + core_options = {k: o for k, o in coredata.builtins.items() if k in core_option_names} + + add_keys(optlist, core_options, 'core') + add_keys(optlist, coredata.backend_options, 'backend') + add_keys(optlist, coredata.base_options, 'base') + add_keys(optlist, coredata.compiler_options, 'compiler') + add_keys(optlist, dir_options, 'directory') + add_keys(optlist, coredata.user_options, 'user') + add_keys(optlist, test_options, 'test') print(json.dumps(optlist)) -def add_keys(optlist, options): +def add_keys(optlist, options, section): keys = list(options.keys()) keys.sort() for key in keys: opt = options[key] - optdict = {'name': key, 'value': opt.value} + optdict = {'name': key, 'value': opt.value, 'section': section} if isinstance(opt, cdata.UserStringOption): typestr = 'string' elif isinstance(opt, cdata.UserBooleanOption): |