summaryrefslogtreecommitdiffstats
path: root/test cases/native/9 override with exe
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/native/9 override with exe')
-rw-r--r--test cases/native/9 override with exe/main2.input0
-rw-r--r--test cases/native/9 override with exe/meson.build21
-rw-r--r--test cases/native/9 override with exe/subprojects/sub/foobar.c13
-rw-r--r--test cases/native/9 override with exe/subprojects/sub/meson.build3
4 files changed, 37 insertions, 0 deletions
diff --git a/test cases/native/9 override with exe/main2.input b/test cases/native/9 override with exe/main2.input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/native/9 override with exe/main2.input
diff --git a/test cases/native/9 override with exe/meson.build b/test cases/native/9 override with exe/meson.build
new file mode 100644
index 0000000..5275532
--- /dev/null
+++ b/test cases/native/9 override with exe/meson.build
@@ -0,0 +1,21 @@
+project('myexe', 'c', version: '0.1')
+sub = subproject('sub')
+
+prog = find_program('foobar', version : '>= 2.0', required : false)
+assert(not prog.found())
+
+prog = find_program('foobar', version : '>= 1.0')
+custom1 = custom_target('custom1',
+ build_by_default : true,
+ input : [],
+ output : 'main1.c',
+ command : [prog, '@OUTPUT@'])
+gen = generator(prog,
+ output : '@BASENAME@.c',
+ arguments : ['@OUTPUT@'])
+custom2 = gen.process('main2.input')
+
+message(prog.full_path())
+
+executable('e1', custom1)
+executable('e2', custom2)
diff --git a/test cases/native/9 override with exe/subprojects/sub/foobar.c b/test cases/native/9 override with exe/subprojects/sub/foobar.c
new file mode 100644
index 0000000..c21d450
--- /dev/null
+++ b/test cases/native/9 override with exe/subprojects/sub/foobar.c
@@ -0,0 +1,13 @@
+#include <assert.h>
+#include <stdio.h>
+
+int main(int argc, char* argv[]) {
+ assert(argc == 2);
+ FILE *f = fopen(argv[1], "w");
+ const char msg[] = "int main(void) {return 0;}\n";
+ size_t w = fwrite(msg, 1, sizeof(msg) - 1, f);
+ assert(w == sizeof(msg) - 1);
+ int r = fclose(f);
+ assert(r == 0);
+ return 0;
+}
diff --git a/test cases/native/9 override with exe/subprojects/sub/meson.build b/test cases/native/9 override with exe/subprojects/sub/meson.build
new file mode 100644
index 0000000..f0343b2
--- /dev/null
+++ b/test cases/native/9 override with exe/subprojects/sub/meson.build
@@ -0,0 +1,3 @@
+project('sub', 'c', version : '1.0')
+foobar = executable('foobar', 'foobar.c', native : true)
+meson.override_find_program('foobar', foobar)