aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/181 same target name flat layout
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/common/181 same target name flat layout
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/common/181 same target name flat layout')
-rw-r--r--meson/test cases/common/181 same target name flat layout/foo.c1
-rw-r--r--meson/test cases/common/181 same target name flat layout/main.c16
-rw-r--r--meson/test cases/common/181 same target name flat layout/meson.build15
-rw-r--r--meson/test cases/common/181 same target name flat layout/subdir/foo.c1
-rw-r--r--meson/test cases/common/181 same target name flat layout/subdir/meson.build1
5 files changed, 34 insertions, 0 deletions
diff --git a/meson/test cases/common/181 same target name flat layout/foo.c b/meson/test cases/common/181 same target name flat layout/foo.c
new file mode 100644
index 000000000..ed427899a
--- /dev/null
+++ b/meson/test cases/common/181 same target name flat layout/foo.c
@@ -0,0 +1 @@
+int meson_test_main_foo(void) { return 10; }
diff --git a/meson/test cases/common/181 same target name flat layout/main.c b/meson/test cases/common/181 same target name flat layout/main.c
new file mode 100644
index 000000000..6f02aeb82
--- /dev/null
+++ b/meson/test cases/common/181 same target name flat layout/main.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+
+int meson_test_main_foo(void);
+int meson_test_subproj_foo(void);
+
+int main(void) {
+ if (meson_test_main_foo() != 10) {
+ printf("Failed meson_test_main_foo\n");
+ return 1;
+ }
+ if (meson_test_subproj_foo() != 20) {
+ printf("Failed meson_test_subproj_foo\n");
+ return 1;
+ }
+ return 0;
+}
diff --git a/meson/test cases/common/181 same target name flat layout/meson.build b/meson/test cases/common/181 same target name flat layout/meson.build
new file mode 100644
index 000000000..cfad2c2a5
--- /dev/null
+++ b/meson/test cases/common/181 same target name flat layout/meson.build
@@ -0,0 +1,15 @@
+project('subdir targets', 'c')
+
+if meson.backend() == 'xcode'
+ error('MESON_SKIP_TEST: many targets with the same name not supported in Xcode. Patches welcome.')
+endif
+
+# Idea behind this test is to create targets with identical name
+# but different output files. We can do this by choosing different
+# name_prefix of libraries. Target id does not depend on name_prefix.
+
+main_foo = static_library('foo', 'foo.c', name_prefix : 'main')
+subdir('subdir') # defines subdir_foo
+
+exe = executable('prog', 'main.c', link_with : [main_foo, subdir_foo])
+test('main test', exe)
diff --git a/meson/test cases/common/181 same target name flat layout/subdir/foo.c b/meson/test cases/common/181 same target name flat layout/subdir/foo.c
new file mode 100644
index 000000000..f33429229
--- /dev/null
+++ b/meson/test cases/common/181 same target name flat layout/subdir/foo.c
@@ -0,0 +1 @@
+int meson_test_subproj_foo(void) { return 20; }
diff --git a/meson/test cases/common/181 same target name flat layout/subdir/meson.build b/meson/test cases/common/181 same target name flat layout/subdir/meson.build
new file mode 100644
index 000000000..223a5ef90
--- /dev/null
+++ b/meson/test cases/common/181 same target name flat layout/subdir/meson.build
@@ -0,0 +1 @@
+subdir_foo = static_library('foo', 'foo.c', name_prefix : 'subdir')