diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-29 04:41:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-29 04:41:38 +0000 |
commit | 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 (patch) | |
tree | 4a2738d69fa2814659fdadddf5826282e73d81f4 /test cases/objc | |
parent | Initial commit. (diff) | |
download | meson-7b6e527f440cd7e6f8be2b07cee320ee6ca18786.tar.xz meson-7b6e527f440cd7e6f8be2b07cee320ee6ca18786.zip |
Adding upstream version 1.0.1.upstream/1.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test cases/objc')
-rw-r--r-- | test cases/objc/1 simple/meson.build | 4 | ||||
-rw-r--r-- | test cases/objc/1 simple/prog.m | 5 | ||||
-rw-r--r-- | test cases/objc/2 nsstring/meson.build | 20 | ||||
-rw-r--r-- | test cases/objc/2 nsstring/stringprog.m | 9 | ||||
-rw-r--r-- | test cases/objc/3 objc args/meson.build | 4 | ||||
-rw-r--r-- | test cases/objc/3 objc args/prog.m | 11 | ||||
-rw-r--r-- | test cases/objc/4 c++ project objc subproject/master.cpp | 11 | ||||
-rw-r--r-- | test cases/objc/4 c++ project objc subproject/meson.build | 6 | ||||
-rw-r--r-- | test cases/objc/4 c++ project objc subproject/subprojects/foo/foo.m | 4 | ||||
-rw-r--r-- | test cases/objc/4 c++ project objc subproject/subprojects/foo/meson.build | 5 |
10 files changed, 79 insertions, 0 deletions
diff --git a/test cases/objc/1 simple/meson.build b/test cases/objc/1 simple/meson.build new file mode 100644 index 0000000..f9d5c14 --- /dev/null +++ b/test cases/objc/1 simple/meson.build @@ -0,0 +1,4 @@ +project('objective c', 'objc', default_options: ['c_std=c99']) + +exe = executable('prog', 'prog.m') +test('objctest', exe) diff --git a/test cases/objc/1 simple/prog.m b/test cases/objc/1 simple/prog.m new file mode 100644 index 0000000..87457bf --- /dev/null +++ b/test cases/objc/1 simple/prog.m @@ -0,0 +1,5 @@ +#import<stdio.h> + +int main(void) { + return 0; +}
\ No newline at end of file diff --git a/test cases/objc/2 nsstring/meson.build b/test cases/objc/2 nsstring/meson.build new file mode 100644 index 0000000..94d2cf1 --- /dev/null +++ b/test cases/objc/2 nsstring/meson.build @@ -0,0 +1,20 @@ +project('nsstring', 'objc') + +if host_machine.system() == 'darwin' + dep = dependency('appleframeworks', modules : 'foundation') +elif host_machine.system() == 'cygwin' + error('MESON_SKIP_TEST GNUstep is not packaged for Cygwin.') +else + dep = dependency('gnustep', required : false) + if not dep.found() + error('MESON_SKIP_TEST: GNUstep is not installed') + endif + if host_machine.system() == 'linux' and meson.get_compiler('objc').get_id() == 'clang' + error('MESON_SKIP_TEST: GNUstep is broken on Linux with Clang') + endif +endif +exe = executable('stringprog', 'stringprog.m', dependencies : dep) +test('stringtest', exe) + +# Ensure that a non-required dep that is not found does not cause an error +dependency('appleframeworks', modules: 'nonexisting', required: false) diff --git a/test cases/objc/2 nsstring/stringprog.m b/test cases/objc/2 nsstring/stringprog.m new file mode 100644 index 0000000..5407538 --- /dev/null +++ b/test cases/objc/2 nsstring/stringprog.m @@ -0,0 +1,9 @@ +#import<Foundation/NSString.h> + +int main(void) { + int result; + NSString *str = [NSString new]; + result = [str length]; + [str release]; + return result; +} diff --git a/test cases/objc/3 objc args/meson.build b/test cases/objc/3 objc args/meson.build new file mode 100644 index 0000000..8887d96 --- /dev/null +++ b/test cases/objc/3 objc args/meson.build @@ -0,0 +1,4 @@ +project('objective c args', 'objc') + +exe = executable('prog', 'prog.m', objc_args : ['-DMESON_TEST']) +test('objective c args', exe) diff --git a/test cases/objc/3 objc args/prog.m b/test cases/objc/3 objc args/prog.m new file mode 100644 index 0000000..003df98 --- /dev/null +++ b/test cases/objc/3 objc args/prog.m @@ -0,0 +1,11 @@ +#import<stdio.h> + +int main(void) +{ +#ifdef MESON_TEST + int x = 3; +#endif + + printf("x = %d\n", x); + return 0; +} diff --git a/test cases/objc/4 c++ project objc subproject/master.cpp b/test cases/objc/4 c++ project objc subproject/master.cpp new file mode 100644 index 0000000..cd08fb1 --- /dev/null +++ b/test cases/objc/4 c++ project objc subproject/master.cpp @@ -0,0 +1,11 @@ + +#include <iostream> + +extern "C" +int foo(); + +int main(void) { + std::cout << "Starting\n"; + std::cout << foo() << "\n"; + return 0; +} diff --git a/test cases/objc/4 c++ project objc subproject/meson.build b/test cases/objc/4 c++ project objc subproject/meson.build new file mode 100644 index 0000000..8a77ded --- /dev/null +++ b/test cases/objc/4 c++ project objc subproject/meson.build @@ -0,0 +1,6 @@ +project('master', ['cpp']) + +foo = subproject('foo') +dep = foo.get_variable('foo_dep') + +executable('master', 'master.cpp', dependencies: dep) diff --git a/test cases/objc/4 c++ project objc subproject/subprojects/foo/foo.m b/test cases/objc/4 c++ project objc subproject/subprojects/foo/foo.m new file mode 100644 index 0000000..e193b86 --- /dev/null +++ b/test cases/objc/4 c++ project objc subproject/subprojects/foo/foo.m @@ -0,0 +1,4 @@ + +int foo() { + return 42; +} diff --git a/test cases/objc/4 c++ project objc subproject/subprojects/foo/meson.build b/test cases/objc/4 c++ project objc subproject/subprojects/foo/meson.build new file mode 100644 index 0000000..2dbf8ab --- /dev/null +++ b/test cases/objc/4 c++ project objc subproject/subprojects/foo/meson.build @@ -0,0 +1,5 @@ +project('foo', ['objc']) + +l = static_library('foo', 'foo.m') + +foo_dep = declare_dependency(link_with : l) |