aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/modules/python.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/modules/python.py')
-rw-r--r--mesonbuild/modules/python.py9
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.')