summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
Diffstat (limited to 'test cases')
-rwxr-xr-xtest cases/common/78 ctarget dependency/gen1.py10
-rwxr-xr-xtest cases/common/78 ctarget dependency/gen2.py9
-rw-r--r--test cases/common/78 ctarget dependency/input.dat1
-rw-r--r--test cases/common/78 ctarget dependency/meson.build20
4 files changed, 40 insertions, 0 deletions
diff --git a/test cases/common/78 ctarget dependency/gen1.py b/test cases/common/78 ctarget dependency/gen1.py
new file mode 100755
index 000000000..64b8e6d69
--- /dev/null
+++ b/test cases/common/78 ctarget dependency/gen1.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python3
+
+import time, sys
+
+# Make sure other script runs first if dependency
+# is missing.
+time.sleep(0.5)
+
+contents = open(sys.argv[1], 'r').read()
+open(sys.argv[2], 'w').write(contents)
diff --git a/test cases/common/78 ctarget dependency/gen2.py b/test cases/common/78 ctarget dependency/gen2.py
new file mode 100755
index 000000000..3f3595b64
--- /dev/null
+++ b/test cases/common/78 ctarget dependency/gen2.py
@@ -0,0 +1,9 @@
+#!/usr/bin/env python3
+
+import sys
+from glob import glob
+
+files = glob('*.tmp')
+assert(len(files) == 1)
+
+open(sys.argv[1], 'w').write(open(files[0], 'r').read())
diff --git a/test cases/common/78 ctarget dependency/input.dat b/test cases/common/78 ctarget dependency/input.dat
new file mode 100644
index 000000000..7af91e29a
--- /dev/null
+++ b/test cases/common/78 ctarget dependency/input.dat
@@ -0,0 +1 @@
+This is a piece of text.
diff --git a/test cases/common/78 ctarget dependency/meson.build b/test cases/common/78 ctarget dependency/meson.build
new file mode 100644
index 000000000..baed2da15
--- /dev/null
+++ b/test cases/common/78 ctarget dependency/meson.build
@@ -0,0 +1,20 @@
+project('custom target dependency', 'c')
+
+# Sometimes custom targets do not take input files
+# but instead do globbing or some similar wackiness.
+# In this case we need to be able to specify a
+# manual dependency between two custom targets,
+# if one needs to be run before the other.
+
+g1 = find_program('gen1.py')
+g2 = find_program('gen2.py')
+
+c1 = custom_target('medput',
+input : 'input.dat',
+output : 'medput.tmp',
+command : [g1, '@INPUT@', '@OUTPUT@'])
+
+custom_target('output',
+output : 'output.dat',
+command : [g2, '@OUTPUT@'],
+depends : c1)