diff options
| author | Dylan Baker <dylan@pnwbakers.com> | 2024-08-30 10:52:17 -0700 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-05 17:45:38 +0200 |
| commit | 164a18d84f4543669e5cab75490ff3629aa961d4 (patch) | |
| tree | 1990714a4246e172872fa97e545d0d9598c01315 | |
| parent | ba3460eb11bbceaf4fef7352bf286cf27184c99a (diff) | |
| download | meson-164a18d84f4543669e5cab75490ff3629aa961d4.tar.gz | |
options: fix typing of add_to_argparse
Which wants a string, but then passes that string to a function that
wants an OptionKey, which means that we'll always miss the lookup in
BULITIN_DIR_NOPREFIX_OPTIONS, and return the default. The only case this
gets used we cast an OptionKey to str, and then pass that. So instead,
do the cast inside the function when necessary and pass the OptionKey
| -rw-r--r-- | mesonbuild/coredata.py | 6 | ||||
| -rw-r--r-- | mesonbuild/options.py | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 5469616f8..6b8cec63f 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -868,10 +868,10 @@ def save(obj: CoreData, build_dir: str) -> str: def register_builtin_arguments(parser: argparse.ArgumentParser) -> None: for n, b in options.BUILTIN_OPTIONS.items(): - b.add_to_argparse(str(n), parser, '') + b.add_to_argparse(n, parser, '') for n, b in options.BUILTIN_OPTIONS_PER_MACHINE.items(): - b.add_to_argparse(str(n), parser, ' (just for host machine)') - b.add_to_argparse(str(n.as_build()), parser, ' (just for build machine)') + b.add_to_argparse(n, parser, ' (just for host machine)') + b.add_to_argparse(n.as_build(), parser, ' (just for build machine)') parser.add_argument('-D', action='append', dest='projectoptions', default=[], metavar="option", help='Set the value of an option, can be used several times to set multiple options.') diff --git a/mesonbuild/options.py b/mesonbuild/options.py index ae580785e..b61babec2 100644 --- a/mesonbuild/options.py +++ b/mesonbuild/options.py @@ -589,7 +589,7 @@ class BuiltinOption(T.Generic[_T]): pass return self.default - def add_to_argparse(self, name: str, parser: argparse.ArgumentParser, help_suffix: str) -> None: + def add_to_argparse(self, name: OptionKey, parser: argparse.ArgumentParser, help_suffix: str) -> None: kwargs: ArgparseKWs = {} c = self._argparse_choices() @@ -602,9 +602,9 @@ class BuiltinOption(T.Generic[_T]): if c and not b: kwargs['choices'] = c kwargs['default'] = argparse.SUPPRESS - kwargs['dest'] = name + kwargs['dest'] = str(name) - cmdline_name = self.argparse_name_to_arg(name) + cmdline_name = self.argparse_name_to_arg(str(name)) parser.add_argument(cmdline_name, help=h + help_suffix, **kwargs) |
