diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-05-13 10:36:58 -0400 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-06-06 20:02:37 +0000 |
commit | d503b1423e14a9debd23691b9c89e8213c44ad65 (patch) | |
tree | e46987ced672f6e504a958b56a68511874b1af78 /mesonbuild | |
parent | 8fb72510c3b7a7a5f08b4b20b7e1480f5868052a (diff) | |
download | meson-d503b1423e14a9debd23691b9c89e8213c44ad65.zip meson-d503b1423e14a9debd23691b9c89e8213c44ad65.tar.gz meson-d503b1423e14a9debd23691b9c89e8213c44ad65.tar.bz2 |
mconf: Report all unknown cmd line options instead of aborting on first
This is also more consistent with the error message returned by
optinterpreter when it finds unknown command line options.
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/coredata.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 7f622e5..a46f95a 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -360,7 +360,8 @@ class CoreData: if type(oldval) != type(value): self.user_options[name] = value - def set_options(self, options): + def set_options(self, options, subproject=''): + unknown_options = [] for o in options: if '=' not in o: raise MesonException('Value "%s" not of type "a=b".' % o) @@ -380,7 +381,12 @@ class CoreData: tgt = self.base_options[k] tgt.set_value(v) else: - raise MesonException('Unknown option %s.' % k) + unknown_options.append(k) + + if unknown_options: + unknown_options = ', '.join(sorted(unknown_options)) + sub = 'In subproject {}: '.format(subproject) if subproject else '' + raise MesonException('{}Unknown options: "{}"'.format(sub, unknown_options)) def load(build_dir): filename = os.path.join(build_dir, 'meson-private', 'coredata.dat') |