diff options
Diffstat (limited to 'meson/test cases/common/172 identical target name in subproject flat layout')
5 files changed, 36 insertions, 0 deletions
diff --git a/meson/test cases/common/172 identical target name in subproject flat layout/foo.c b/meson/test cases/common/172 identical target name in subproject flat layout/foo.c new file mode 100644 index 000000000..ed427899a --- /dev/null +++ b/meson/test cases/common/172 identical target name in subproject flat layout/foo.c @@ -0,0 +1 @@ +int meson_test_main_foo(void) { return 10; } diff --git a/meson/test cases/common/172 identical target name in subproject flat layout/main.c b/meson/test cases/common/172 identical target name in subproject flat layout/main.c new file mode 100644 index 000000000..6f02aeb82 --- /dev/null +++ b/meson/test cases/common/172 identical target name in subproject 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/172 identical target name in subproject flat layout/meson.build b/meson/test cases/common/172 identical target name in subproject flat layout/meson.build new file mode 100644 index 000000000..ce1d4b8e1 --- /dev/null +++ b/meson/test cases/common/172 identical target name in subproject flat layout/meson.build @@ -0,0 +1,15 @@ +project('subproject 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') +subproj_foo = subproject('subproj').get_variable('foo') + +exe = executable('prog', 'main.c', link_with : [main_foo, subproj_foo]) +test('main test', exe) diff --git a/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/foo.c b/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/foo.c new file mode 100644 index 000000000..f33429229 --- /dev/null +++ b/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/foo.c @@ -0,0 +1 @@ +int meson_test_subproj_foo(void) { return 20; } diff --git a/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/meson.build b/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/meson.build new file mode 100644 index 000000000..c92719469 --- /dev/null +++ b/meson/test cases/common/172 identical target name in subproject flat layout/subprojects/subproj/meson.build @@ -0,0 +1,3 @@ +project('subproj', 'c') + +foo = static_library('foo', 'foo.c', name_prefix : 'subproj') |