From 3cf03ec6d603d2c4699cefb9fabdbd8de321a3f2 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 12 Sep 2018 13:38:36 -0400 Subject: find_installation: Add support for feature option in required kwarg Closes: #4165. --- mesonbuild/modules/python.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'mesonbuild/modules/python.py') 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.') -- cgit v1.1