diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2016-03-23 21:26:55 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-03-23 21:26:55 +0200 |
commit | 317a735b07f55f787256592ad7b376998b26234c (patch) | |
tree | 4f6ffd8b47324fad60932b02dfbb7cd38b121b2c | |
parent | 8945c85f968e851010b101ac2654aa3758470589 (diff) | |
download | meson-317a735b07f55f787256592ad7b376998b26234c.zip meson-317a735b07f55f787256592ad7b376998b26234c.tar.gz meson-317a735b07f55f787256592ad7b376998b26234c.tar.bz2 |
Error out if using a not found binary in the build. Closes #469.
-rw-r--r-- | mesonbuild/build.py | 2 | ||||
-rw-r--r-- | test cases/failing/28 noprog use/meson.build | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index ab9d0d5..3f480e8 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -842,6 +842,8 @@ class CustomTarget: if isinstance(c, str): final_cmd.append(c) elif isinstance(c, dependencies.ExternalProgram): + if not c.found(): + raise InvalidArguments('Tried to use not found external program in a build rule.') final_cmd += c.get_command() elif isinstance(c, BuildTarget) or isinstance(c, CustomTarget): self.dependencies.append(c) diff --git a/test cases/failing/28 noprog use/meson.build b/test cases/failing/28 noprog use/meson.build new file mode 100644 index 0000000..e4de42f --- /dev/null +++ b/test cases/failing/28 noprog use/meson.build @@ -0,0 +1,9 @@ +project('using not found exe', 'c') + +nope = find_program('nonexisting', required : false) + +custom_target( 'aa', + input: 'meson.build', + output: 'foobar', + command: [nope, '@INPUT@', '@OUTPUT@'] +) |