aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorPaulo Antonio Alvarez <pauloaalvarez@gmail.com>2017-10-04 21:04:51 -0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-10-31 22:17:01 +0200
commit1540e615f13503722f1067c693f3d394218cbd9e (patch)
treee7548d21d121894ade5ad9c82f30eb17d7b3c7f8 /mesonbuild/interpreter.py
parent7b9843da02acb6e37de17218748a9af8f472c8e5 (diff)
downloadmeson-1540e615f13503722f1067c693f3d394218cbd9e.zip
meson-1540e615f13503722f1067c693f3d394218cbd9e.tar.gz
meson-1540e615f13503722f1067c693f3d394218cbd9e.tar.bz2
interpreter: Add warning function
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 39c0de6..28cb5ad 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -1443,6 +1443,7 @@ class Interpreter(InterpreterBase):
'join_paths': self.func_join_paths,
'library': self.func_library,
'message': self.func_message,
+ 'warning': self.func_warning,
'option': self.func_option,
'project': self.func_project,
'run_target': self.func_run_target,
@@ -1869,8 +1870,7 @@ to directly access options of other subprojects.''')
def func_add_languages(self, node, args, kwargs):
return self.add_languages(args, kwargs.get('required', True))
- @noKwargs
- def func_message(self, node, args, kwargs):
+ def get_message_string_arg(self, node):
# reduce arguments again to avoid flattening posargs
(posargs, _) = self.reduce_arguments(node.args)
if len(posargs) != 1:
@@ -1886,9 +1886,19 @@ to directly access options of other subprojects.''')
else:
raise InvalidArguments('Function accepts only strings, integers, lists and lists thereof.')
+ return argstr
+
+ @noKwargs
+ def func_message(self, node, args, kwargs):
+ argstr = self.get_message_string_arg(node)
mlog.log(mlog.bold('Message:'), argstr)
@noKwargs
+ def func_warning(self, node, args, kwargs):
+ argstr = self.get_message_string_arg(node)
+ mlog.warning(argstr)
+
+ @noKwargs
def func_error(self, node, args, kwargs):
self.validate_arguments(args, 1, [str])
raise InterpreterException('Error encountered: ' + args[0])