aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/objc/2 nsstring
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/objc/2 nsstring')
-rw-r--r--meson/test cases/objc/2 nsstring/meson.build20
-rw-r--r--meson/test cases/objc/2 nsstring/stringprog.m10
2 files changed, 30 insertions, 0 deletions
diff --git a/meson/test cases/objc/2 nsstring/meson.build b/meson/test cases/objc/2 nsstring/meson.build
new file mode 100644
index 000000000..94d2cf18a
--- /dev/null
+++ b/meson/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/meson/test cases/objc/2 nsstring/stringprog.m b/meson/test cases/objc/2 nsstring/stringprog.m
new file mode 100644
index 000000000..faef4dd62
--- /dev/null
+++ b/meson/test cases/objc/2 nsstring/stringprog.m
@@ -0,0 +1,10 @@
+#import<Foundation/NSString.h>
+
+int main(void) {
+ int result;
+ NSString *str = [NSString new];
+ result = [str length];
+ [str release];
+ return result;
+}
+