diff options
-rw-r--r-- | mesonbuild/build.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 576bb03..e5900ac 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -611,8 +611,15 @@ class Target(HoldableObject): @staticmethod def parse_overrides(kwargs: T.Dict[str, T.Any]) -> T.Dict[OptionKey, str]: + opts = kwargs.get('override_options', []) + + # In this case we hav ean already parsed and ready to go dictionary + # provided by typed_kwargs + if isinstance(opts, dict): + return T.cast(T.Dict[OptionKey, str], opts) + result: T.Dict[OptionKey, str] = {} - overrides = stringlistify(kwargs.get('override_options', [])) + overrides = stringlistify(opts) for o in overrides: if '=' not in o: raise InvalidArguments('Overrides must be of form "key=value"') |