diff options
-rw-r--r-- | mesonbuild/interpreter.py | 2 | ||||
-rw-r--r-- | mesonbuild/mlog.py | 7 | ||||
-rw-r--r-- | mesonbuild/mparser.py | 5 |
3 files changed, 11 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index e8fb081..8170357 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1935,7 +1935,7 @@ to directly access options of other subprojects.''') @noKwargs def func_warning(self, node, args, kwargs): argstr = self.get_message_string_arg(node) - mlog.warning('%s in file %s, line %d' % (argstr, os.path.join(node.subdir, 'meson.build'), node.lineno)) + mlog.warning(argstr, location=node) @noKwargs def func_error(self, node, args, kwargs): diff --git a/mesonbuild/mlog.py b/mesonbuild/mlog.py index a0d07ec..aa2ac20 100644 --- a/mesonbuild/mlog.py +++ b/mesonbuild/mlog.py @@ -103,6 +103,13 @@ def log(*args, **kwargs): force_print(*arr, **kwargs) def warning(*args, **kwargs): + from . import environment + + if kwargs.get('location'): + location = kwargs['location'] + del kwargs['location'] + args += ('in file {}, line {}.'.format(os.path.join(location.subdir, environment.build_filename), location.lineno),) + log(yellow('WARNING:'), *args, **kwargs) # Format a list for logging purposes as a string. It separates diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index 782b7a7..eb03393 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os, re +import re from .mesonlib import MesonException from . import mlog @@ -368,7 +368,8 @@ class ArgumentNode: def set_kwarg(self, name, value): if name in self.kwargs: - mlog.warning('Keyword argument "%s" defined multiple times in file %s, line %d. This will be an error in future Meson releases.' % (name, os.path.join(self.subdir, 'meson.build'), self.lineno)) + mlog.warning('Keyword argument "{}" defined multiple times'.format(name), location=self) + mlog.warning('This will be an error in future Meson releases.') self.kwargs[name] = value def num_args(self): |