diff options
Diffstat (limited to 'mesonbuild/modules/python.py')
-rw-r--r-- | mesonbuild/modules/python.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py index d9ec562..0ba086b 100644 --- a/mesonbuild/modules/python.py +++ b/mesonbuild/modules/python.py @@ -25,7 +25,7 @@ from ..interpreterbase import ( InterpreterObject, InvalidArguments, FeatureNew ) -from ..interpreter import ExternalProgramHolder +from ..interpreter import ExternalProgramHolder, extract_required_kwarg from ..interpreterbase import flatten from ..build import known_shmod_kwargs from .. import mlog @@ -477,9 +477,10 @@ class PythonModule(ExtensionModule): @permittedKwargs(['required']) def find_installation(self, interpreter, state, args, kwargs): - required = kwargs.get('required', True) - if not isinstance(required, bool): - raise InvalidArguments('"required" argument must be a boolean.') + disabled, required, feature = extract_required_kwarg(kwargs, state.subproject) + if disabled: + mlog.log('find_installation skipped: feature', mlog.bold(feature), 'disabled') + return ExternalProgramHolder(NonExistingExternalProgram()) if len(args) > 1: raise InvalidArguments('find_installation takes zero or one positional argument.') |