From d26ab47072906d7a28a8843617487e601b56dfb2 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Wed, 7 Sep 2016 23:14:14 +0300 Subject: [PATCH] Can use custom targets as executables to run in a run_target. --- mesonbuild/backend/ninjabackend.py | 3 +++ test cases/common/58 run target/meson.build | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index adf9b7148..481b8001e 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -448,6 +448,9 @@ int dummy; cmd.append(abs_exe) elif isinstance(texe, dependencies.ExternalProgram): cmd += texe.get_command() + elif isinstance(texe, build.CustomTarget): + deps.append(self.get_target_filename(texe)) + cmd += [os.path.join(self.environment.get_build_dir(), self.get_target_filename(texe))] else: cmd.append(target.command) cmd += arg_strings diff --git a/test cases/common/58 run target/meson.build b/test cases/common/58 run target/meson.build index 0ef196680..0ab41b3f5 100644 --- a/test cases/common/58 run target/meson.build +++ b/test cases/common/58 run target/meson.build @@ -37,3 +37,9 @@ run_target('py3hi', run_target('ct_in_arg', command : ['echo', hex, files('helloprinter.c')]) + +# What if the output of a custom_target is the command to +# execute. Obviously this will not work as hex is not an +# executable but test that the output is generated correctly. +run_target('donotrunme', + command : [hex])