diff options
Diffstat (limited to 'meson/test cases/common/46 subproject subproject')
7 files changed, 55 insertions, 0 deletions
diff --git a/meson/test cases/common/46 subproject subproject/meson.build b/meson/test cases/common/46 subproject subproject/meson.build new file mode 100644 index 000000000..d8735a1cd --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/meson.build @@ -0,0 +1,11 @@ +project('sub sub', 'c') + +a = subproject('a') +lib = a.get_variable('l') + +dependency('not-found-dep', required : false, + version : '>=1', + fallback : ['c', 'notfound_dep']) + +exe = executable('prog', 'prog.c', link_with : lib) +test('basic', exe) diff --git a/meson/test cases/common/46 subproject subproject/prog.c b/meson/test cases/common/46 subproject subproject/prog.c new file mode 100644 index 000000000..27162c5e0 --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/prog.c @@ -0,0 +1,5 @@ +int func(void); + +int main(void) { + return func() == 42 ? 0 : 1; +} diff --git a/meson/test cases/common/46 subproject subproject/subprojects/a/a.c b/meson/test cases/common/46 subproject subproject/subprojects/a/a.c new file mode 100644 index 000000000..f9848c136 --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/subprojects/a/a.c @@ -0,0 +1,15 @@ +int func2(void); + +#if defined _WIN32 || defined __CYGWIN__ + #define DLL_PUBLIC __declspec(dllexport) +#else + #if defined __GNUC__ + #define DLL_PUBLIC __attribute__ ((visibility("default"))) + #else + #pragma message ("Compiler does not support symbol visibility.") + #define DLL_PUBLIC + #endif +#endif + +int DLL_PUBLIC func(void) { return func2(); } + diff --git a/meson/test cases/common/46 subproject subproject/subprojects/a/meson.build b/meson/test cases/common/46 subproject subproject/subprojects/a/meson.build new file mode 100644 index 000000000..f0dfc449e --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/subprojects/a/meson.build @@ -0,0 +1,4 @@ +project('a', 'c') + +b = subproject('b') +l = shared_library('a', 'a.c', link_with : b.get_variable('lb')) diff --git a/meson/test cases/common/46 subproject subproject/subprojects/b/b.c b/meson/test cases/common/46 subproject subproject/subprojects/b/b.c new file mode 100644 index 000000000..8c07177a6 --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/subprojects/b/b.c @@ -0,0 +1,14 @@ +#if defined _WIN32 || defined __CYGWIN__ + #define DLL_PUBLIC __declspec(dllexport) +#else + #if defined __GNUC__ + #define DLL_PUBLIC __attribute__ ((visibility("default"))) + #else + #pragma message ("Compiler does not support symbol visibility.") + #define DLL_PUBLIC + #endif +#endif + +int DLL_PUBLIC func2(void) { + return 42; +} diff --git a/meson/test cases/common/46 subproject subproject/subprojects/b/meson.build b/meson/test cases/common/46 subproject subproject/subprojects/b/meson.build new file mode 100644 index 000000000..e7af6067a --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/subprojects/b/meson.build @@ -0,0 +1,3 @@ +project('b', 'c') + +lb = shared_library('b', 'b.c') diff --git a/meson/test cases/common/46 subproject subproject/subprojects/c/meson.build b/meson/test cases/common/46 subproject subproject/subprojects/c/meson.build new file mode 100644 index 000000000..97a5be1d0 --- /dev/null +++ b/meson/test cases/common/46 subproject subproject/subprojects/c/meson.build @@ -0,0 +1,3 @@ +project('not-found-dep-subproj', 'c', version : '1.0') + +notfound_dep = dependency('', required : false) |