summaryrefslogtreecommitdiffstats
path: root/test cases/unit/98 install all targets
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/unit/98 install all targets')
-rw-r--r--test cases/unit/98 install all targets/bar-custom.txt0
-rw-r--r--test cases/unit/98 install all targets/bar-devel.h0
-rw-r--r--test cases/unit/98 install all targets/bar-notag.txt0
-rw-r--r--test cases/unit/98 install all targets/custom_files/data.txt1
-rw-r--r--test cases/unit/98 install all targets/foo.in0
-rw-r--r--test cases/unit/98 install all targets/foo1-devel.h0
-rw-r--r--test cases/unit/98 install all targets/lib.c9
-rw-r--r--test cases/unit/98 install all targets/main.c3
-rw-r--r--test cases/unit/98 install all targets/meson.build108
-rw-r--r--test cases/unit/98 install all targets/script.py7
-rw-r--r--test cases/unit/98 install all targets/subdir/bar2-devel.h0
-rw-r--r--test cases/unit/98 install all targets/subdir/foo2.in0
-rw-r--r--test cases/unit/98 install all targets/subdir/foo3-devel.h0
-rw-r--r--test cases/unit/98 install all targets/subdir/lib.c9
-rw-r--r--test cases/unit/98 install all targets/subdir/main.c3
-rw-r--r--test cases/unit/98 install all targets/subdir/meson.build21
-rw-r--r--test cases/unit/98 install all targets/subdir/script.py7
17 files changed, 168 insertions, 0 deletions
diff --git a/test cases/unit/98 install all targets/bar-custom.txt b/test cases/unit/98 install all targets/bar-custom.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/bar-custom.txt
diff --git a/test cases/unit/98 install all targets/bar-devel.h b/test cases/unit/98 install all targets/bar-devel.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/bar-devel.h
diff --git a/test cases/unit/98 install all targets/bar-notag.txt b/test cases/unit/98 install all targets/bar-notag.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/bar-notag.txt
diff --git a/test cases/unit/98 install all targets/custom_files/data.txt b/test cases/unit/98 install all targets/custom_files/data.txt
new file mode 100644
index 0000000..557db03
--- /dev/null
+++ b/test cases/unit/98 install all targets/custom_files/data.txt
@@ -0,0 +1 @@
+Hello World
diff --git a/test cases/unit/98 install all targets/foo.in b/test cases/unit/98 install all targets/foo.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/foo.in
diff --git a/test cases/unit/98 install all targets/foo1-devel.h b/test cases/unit/98 install all targets/foo1-devel.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/foo1-devel.h
diff --git a/test cases/unit/98 install all targets/lib.c b/test cases/unit/98 install all targets/lib.c
new file mode 100644
index 0000000..2ea9c7d
--- /dev/null
+++ b/test cases/unit/98 install all targets/lib.c
@@ -0,0 +1,9 @@
+#if defined _WIN32 || defined __CYGWIN__
+#define DLL_PUBLIC __declspec(dllexport)
+#else
+#define DLL_PUBLIC
+#endif
+
+int DLL_PUBLIC foo(void) {
+ return 0;
+}
diff --git a/test cases/unit/98 install all targets/main.c b/test cases/unit/98 install all targets/main.c
new file mode 100644
index 0000000..0fb4389
--- /dev/null
+++ b/test cases/unit/98 install all targets/main.c
@@ -0,0 +1,3 @@
+int main(int argc, char *argv[]) {
+ return 0;
+}
diff --git a/test cases/unit/98 install all targets/meson.build b/test cases/unit/98 install all targets/meson.build
new file mode 100644
index 0000000..3065b5f
--- /dev/null
+++ b/test cases/unit/98 install all targets/meson.build
@@ -0,0 +1,108 @@
+project('install tag', 'c')
+
+subdir('subdir')
+
+# Those files should not be tagged
+configure_file(input: 'foo.in', output: 'foo-notag.h',
+ configuration: {'foo': 'bar'},
+ install_dir: get_option('datadir'),
+ install: true,
+)
+install_data('bar-notag.txt',
+ install_dir: get_option('datadir')
+)
+custom_target('ct1',
+ output: ['out1-notag.txt', 'out2-notag.txt'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: get_option('datadir'),
+ install: true,
+)
+
+# Those files should be tagged as devel
+install_headers('foo1-devel.h')
+install_data('bar-devel.h',
+ install_dir: get_option('includedir'),
+)
+configure_file(input: 'foo.in', output: 'foo2-devel.h',
+ configuration: {'foo': 'bar'},
+ install_dir: get_option('includedir'),
+ install: true,
+)
+static_library('static', 'lib.c',
+ install: true,
+)
+custom_target('ct-header1',
+ output: ['ct-header1.h'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: get_option('includedir'),
+ install: true,
+)
+custom_target('ct-header2',
+ output: ['ct-header2.h', 'ct-header3.h'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: [false, get_option('includedir')],
+ install: true,
+)
+install_emptydir(get_option('includedir') / 'subdir-devel')
+install_subdir('custom_files',
+ install_dir: get_option('includedir'),
+)
+
+# Those files should have 'runtime' tag
+executable('app', 'main.c',
+ install: true,
+)
+executable('app-otherdir', 'main.c',
+ install: true,
+ install_dir: 'otherbin',
+)
+shared_library('shared', 'lib.c',
+ install: true,
+)
+both_libraries('both', 'lib.c',
+ install: true,
+)
+
+# Unversioned .so file should have 'devel' tag, others should have 'runtime' tag
+shared_library('versioned_shared', 'lib.c',
+ install: true,
+ version: '1.2.3',
+)
+
+# Those files should have custom tag
+install_data('bar-custom.txt',
+ install_dir: get_option('datadir'),
+ install_tag: 'custom')
+configure_file(input: 'foo.in', output: 'foo-custom.h',
+ configuration: {'foo': 'bar'},
+ install_dir: get_option('datadir'),
+ install_tag: 'custom',
+ install: true,
+)
+both_libraries('bothcustom', 'lib.c',
+ install_tag: 'custom',
+ install: true,
+)
+custom_target('ct2',
+ output: ['out1-custom.txt', 'out2-custom.txt'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: get_option('datadir'),
+ install_tag: 'custom',
+ install: true,
+)
+install_subdir('custom_files',
+ install_dir: get_option('datadir'),
+ install_tag: 'custom',
+)
+
+# First is custom, 2nd is devel, 3rd has no tag
+custom_target('ct3',
+ output: ['out3-custom.txt', 'out-devel.h', 'out3-notag.txt'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: [get_option('datadir'), get_option('includedir'), get_option('datadir')],
+ install_tag: ['custom', 'devel', false],
+ install: true,
+)
+
+meson.add_install_script('script.py', install_tag: 'custom')
+meson.add_install_script('script.py')
diff --git a/test cases/unit/98 install all targets/script.py b/test cases/unit/98 install all targets/script.py
new file mode 100644
index 0000000..c5f3be9
--- /dev/null
+++ b/test cases/unit/98 install all targets/script.py
@@ -0,0 +1,7 @@
+#!/usr/bin/env python3
+
+import sys
+
+for f in sys.argv[1:]:
+ with open(f, 'w') as f:
+ pass
diff --git a/test cases/unit/98 install all targets/subdir/bar2-devel.h b/test cases/unit/98 install all targets/subdir/bar2-devel.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/bar2-devel.h
diff --git a/test cases/unit/98 install all targets/subdir/foo2.in b/test cases/unit/98 install all targets/subdir/foo2.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/foo2.in
diff --git a/test cases/unit/98 install all targets/subdir/foo3-devel.h b/test cases/unit/98 install all targets/subdir/foo3-devel.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/foo3-devel.h
diff --git a/test cases/unit/98 install all targets/subdir/lib.c b/test cases/unit/98 install all targets/subdir/lib.c
new file mode 100644
index 0000000..2ea9c7d
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/lib.c
@@ -0,0 +1,9 @@
+#if defined _WIN32 || defined __CYGWIN__
+#define DLL_PUBLIC __declspec(dllexport)
+#else
+#define DLL_PUBLIC
+#endif
+
+int DLL_PUBLIC foo(void) {
+ return 0;
+}
diff --git a/test cases/unit/98 install all targets/subdir/main.c b/test cases/unit/98 install all targets/subdir/main.c
new file mode 100644
index 0000000..0fb4389
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/main.c
@@ -0,0 +1,3 @@
+int main(int argc, char *argv[]) {
+ return 0;
+}
diff --git a/test cases/unit/98 install all targets/subdir/meson.build b/test cases/unit/98 install all targets/subdir/meson.build
new file mode 100644
index 0000000..53c796a
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/meson.build
@@ -0,0 +1,21 @@
+configure_file(input: 'foo2.in', output: 'foo2.h',
+ configuration: {'foo': 'bar'},
+ install_dir: get_option('datadir'),
+ install: true,
+)
+custom_target('ct4',
+ output: ['out1.txt', 'out2.txt'],
+ command: ['script.py', '@OUTPUT@'],
+ install_dir: get_option('datadir'),
+ install: true,
+)
+install_headers('foo3-devel.h')
+install_data('bar2-devel.h',
+ install_dir: get_option('includedir'),
+)
+executable('app2', 'main.c',
+ install: true,
+)
+both_libraries('both2', 'lib.c',
+ install: true,
+)
diff --git a/test cases/unit/98 install all targets/subdir/script.py b/test cases/unit/98 install all targets/subdir/script.py
new file mode 100644
index 0000000..c5f3be9
--- /dev/null
+++ b/test cases/unit/98 install all targets/subdir/script.py
@@ -0,0 +1,7 @@
+#!/usr/bin/env python3
+
+import sys
+
+for f in sys.argv[1:]:
+ with open(f, 'w') as f:
+ pass