aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-03-23 21:26:55 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2016-03-23 21:26:55 +0200
commit317a735b07f55f787256592ad7b376998b26234c (patch)
tree4f6ffd8b47324fad60932b02dfbb7cd38b121b2c
parent8945c85f968e851010b101ac2654aa3758470589 (diff)
downloadmeson-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.py2
-rw-r--r--test cases/failing/28 noprog use/meson.build9
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@']
+)