diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-04-18 12:19:19 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2019-04-18 19:18:21 +0000 |
commit | 2795f942bef680b0f050cc1f1001db26cab68bb9 (patch) | |
tree | 26f4ae38eb5e9b4f852f67fb2023259198835c1e /mesonbuild/interpreter.py | |
parent | 2e93ed58c30d63da8527ff16375ff9e0642e7533 (diff) | |
download | meson-2795f942bef680b0f050cc1f1001db26cab68bb9.zip meson-2795f942bef680b0f050cc1f1001db26cab68bb9.tar.gz meson-2795f942bef680b0f050cc1f1001db26cab68bb9.tar.bz2 |
interpreter: Check the meson version before parsing options
Also add a test for it so we don't regress this in the future.
Closes https://github.com/mesonbuild/meson/issues/5281
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 993ebbd..8f33935 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2575,6 +2575,12 @@ external dependencies (including libraries) must go to "dependencies".''') if ':' in proj_name: raise InvalidArguments("Project name {!r} must not contain ':'".format(proj_name)) + if 'meson_version' in kwargs: + cv = coredata.version + pv = kwargs['meson_version'] + if not mesonlib.version_compare(cv, pv): + raise InterpreterException('Meson version is %s but project requires %s' % (cv, pv)) + if os.path.exists(self.option_file): oi = optinterpreter.OptionInterpreter(self.subproject) oi.process(self.option_file) @@ -2621,11 +2627,8 @@ external dependencies (including libraries) must go to "dependencies".''') mesonlib.project_meson_versions[self.subproject] = '' if 'meson_version' in kwargs: - cv = coredata.version - pv = kwargs['meson_version'] - mesonlib.project_meson_versions[self.subproject] = pv - if not mesonlib.version_compare(cv, pv): - raise InterpreterException('Meson version is %s but project requires %s.' % (cv, pv)) + mesonlib.project_meson_versions[self.subproject] = kwargs['meson_version'] + self.build.projects[self.subproject] = proj_name mlog.log('Project name:', mlog.bold(proj_name)) mlog.log('Project version:', mlog.bold(self.project_version)) |