diff options
| author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-08-11 17:38:10 +0530 |
|---|---|---|
| committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2018-08-11 09:15:05 -0700 |
| commit | 43ececb036a6ca1911862d6fef1e49e822784f59 (patch) | |
| tree | 2bb689f24b4d74203a573c1c3ea475fbea9c605d | |
| parent | ecede89b5d3b804fafcec0bab68fec1cfab519aa (diff) | |
| download | meson-43ececb036a6ca1911862d6fef1e49e822784f59.tar.gz | |
Skip FeatureNew checks when project() has not been parsed
Fixes https://github.com/mesonbuild/meson/issues/3944
| -rw-r--r-- | mesonbuild/interpreterbase.py | 3 | ||||
| -rw-r--r-- | test cases/common/38 run program/get-version.py | 3 | ||||
| -rw-r--r-- | test cases/common/38 run program/meson.build | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py index 64177abd6..e5d7eb163 100644 --- a/mesonbuild/interpreterbase.py +++ b/mesonbuild/interpreterbase.py @@ -172,6 +172,9 @@ class FeatureCheckBase: @staticmethod def get_target_version(subproject): + # Don't do any checks if project() has not been parsed yet + if subproject not in mesonlib.project_meson_versions: + return '' return mesonlib.project_meson_versions[subproject] def use(self, subproject): diff --git a/test cases/common/38 run program/get-version.py b/test cases/common/38 run program/get-version.py new file mode 100644 index 000000000..a22d55998 --- /dev/null +++ b/test cases/common/38 run program/get-version.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 + +print('1.2') diff --git a/test cases/common/38 run program/meson.build b/test cases/common/38 run program/meson.build index ab800ef68..a05cea3fb 100644 --- a/test cases/common/38 run program/meson.build +++ b/test cases/common/38 run program/meson.build @@ -1,4 +1,4 @@ -project('run command', 'c') +project('run command', version : run_command('get-version.py', check : true).stdout().strip()) if build_machine.system() == 'windows' c = run_command('cmd', '/c', 'echo', 'hello') |
