aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/160 custom target template substitution
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/160 custom target template substitution')
-rw-r--r--meson/test cases/common/160 custom target template substitution/checkcopy.py9
-rw-r--r--meson/test cases/common/160 custom target template substitution/foo.c.in6
-rw-r--r--meson/test cases/common/160 custom target template substitution/meson.build17
3 files changed, 32 insertions, 0 deletions
diff --git a/meson/test cases/common/160 custom target template substitution/checkcopy.py b/meson/test cases/common/160 custom target template substitution/checkcopy.py
new file mode 100644
index 000000000..ab9f436ce
--- /dev/null
+++ b/meson/test cases/common/160 custom target template substitution/checkcopy.py
@@ -0,0 +1,9 @@
+#!/usr/bin/env python3
+
+import sys
+import shutil
+
+if '@INPUT1@' in sys.argv[1]:
+ shutil.copyfile(sys.argv[2], sys.argv[3])
+else:
+ sys.exit('String @INPUT1@ not found in "{}"'.format(sys.argv[1]))
diff --git a/meson/test cases/common/160 custom target template substitution/foo.c.in b/meson/test cases/common/160 custom target template substitution/foo.c.in
new file mode 100644
index 000000000..a867b3237
--- /dev/null
+++ b/meson/test cases/common/160 custom target template substitution/foo.c.in
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int main(void) {
+ printf("foo is working.\n");
+ return 0;
+}
diff --git a/meson/test cases/common/160 custom target template substitution/meson.build b/meson/test cases/common/160 custom target template substitution/meson.build
new file mode 100644
index 000000000..737408ebf
--- /dev/null
+++ b/meson/test cases/common/160 custom target template substitution/meson.build
@@ -0,0 +1,17 @@
+project('custom target template substitution', 'c')
+
+check = find_program('checkcopy.py')
+
+config = configuration_data()
+
+config_file = configure_file(configuration : config, output : 'x@IN')
+
+# Check that substitution does not find @FOO@ and then misses @INPUT0@.
+# Check the resulting x@INPUT1@ is not replaced.
+foo = custom_target('runcheck',
+ input : [config_file, 'foo.c.in'],
+ output : 'foo.c',
+ command : [check, '-D@FOO@INPUT0@PUT1@', '@INPUT1@', '@OUTPUT@']
+)
+
+executable('foo', foo)