aboutsummaryrefslogtreecommitdiff
path: root/mesonlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonlib.py')
-rw-r--r--mesonlib.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/mesonlib.py b/mesonlib.py
index 0b200ac..0e31ef1 100644
--- a/mesonlib.py
+++ b/mesonlib.py
@@ -279,10 +279,17 @@ class UserBooleanOption(UserOption):
super().__init__(name, description)
self.set_value(value)
+ def tobool(self, thing):
+ if isinstance(thing, bool):
+ return thing
+ if thing.lower() == 'true':
+ return True
+ if thing.lower() == 'false':
+ return False
+ raise MesonException('Value %s is not boolean (true or false).' % thing)
+
def set_value(self, newvalue):
- if not isinstance(newvalue, bool):
- raise MesonException('Value "%s" for boolean option "%s" is not a boolean.' % (str(newvalue), self.name))
- self.value = newvalue
+ self.value = self.tobool(newvalue)
def parse_string(self, valuestring):
if valuestring == 'false':