aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter/interpreterobjects.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter/interpreterobjects.py')
-rw-r--r--mesonbuild/interpreter/interpreterobjects.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/interpreter/interpreterobjects.py b/mesonbuild/interpreter/interpreterobjects.py
index 0bf188c..37f486a 100644
--- a/mesonbuild/interpreter/interpreterobjects.py
+++ b/mesonbuild/interpreter/interpreterobjects.py
@@ -75,6 +75,7 @@ class FeatureOptionHolder(InterpreterObject, ObjectHolder[coredata.UserFeatureOp
'allowed': self.allowed_method,
'auto': self.auto_method,
'require': self.require_method,
+ 'disable_auto_if': self.disable_auto_if_method,
})
@property
@@ -122,6 +123,14 @@ class FeatureOptionHolder(InterpreterObject, ObjectHolder[coredata.UserFeatureOp
raise InterpreterException(prefix + error_message)
return self.as_disabled()
+ @permittedKwargs({})
+ def disable_auto_if_method(self, args, kwargs):
+ if len(args) != 1:
+ raise InvalidArguments('Expected 1 argument, got %d.' % (len(args), ))
+ if not isinstance(args[0], bool):
+ raise InvalidArguments('boolean argument expected.')
+ return self if self.value != 'auto' or not args[0] else self.as_disabled()
+
class RunProcess(InterpreterObject):