diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2024-04-14 12:58:30 +0300 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-13 23:57:48 +0200 |
| commit | d37d649b08b832d52fa684bc0506829fb40d5261 (patch) | |
| tree | c66e1461e91d6349457b826978e866fdabb19de1 /mesonbuild/interpreter/dependencyfallbacks.py | |
| parent | ea678ed82938ceac00682b2695b57193d36b71b4 (diff) | |
| download | meson-d37d649b08b832d52fa684bc0506829fb40d5261.tar.gz | |
Make all Meson level options overridable per subproject.
Diffstat (limited to 'mesonbuild/interpreter/dependencyfallbacks.py')
| -rw-r--r-- | mesonbuild/interpreter/dependencyfallbacks.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/mesonbuild/interpreter/dependencyfallbacks.py b/mesonbuild/interpreter/dependencyfallbacks.py index f7a1b99fe..6f5a0e47e 100644 --- a/mesonbuild/interpreter/dependencyfallbacks.py +++ b/mesonbuild/interpreter/dependencyfallbacks.py @@ -4,6 +4,8 @@ from __future__ import annotations +import copy + from .interpreterobjects import extract_required_kwarg from .. import mlog from .. import dependencies @@ -23,8 +25,11 @@ if T.TYPE_CHECKING: class DependencyFallbacksHolder(MesonInterpreterObject): - def __init__(self, interpreter: 'Interpreter', names: T.List[str], allow_fallback: T.Optional[bool] = None, - default_options: T.Optional[T.Dict[OptionKey, str]] = None) -> None: + def __init__(self, + interpreter: 'Interpreter', + names: T.List[str], + allow_fallback: T.Optional[bool] = None, + default_options: T.Optional[T.Dict[str, str]] = None) -> None: super().__init__(subproject=interpreter.subproject) self.interpreter = interpreter self.subproject = interpreter.subproject @@ -123,7 +128,8 @@ class DependencyFallbacksHolder(MesonInterpreterObject): if static is not None and 'default_library' not in default_options: default_library = 'static' if static else 'shared' mlog.log(f'Building fallback subproject with default_library={default_library}') - default_options[OptionKey('default_library')] = default_library + default_options = copy.copy(default_options) + default_options['default_library'] = default_library func_kwargs['default_options'] = default_options # Configure the subproject |
