aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/build.py5
-rw-r--r--test cases/objc/5 objc++ args/meson.build4
-rw-r--r--test cases/objc/5 objc++ args/prog.mm16
3 files changed, 25 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index 3e87e07..8163bca 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -29,6 +29,7 @@ known_basic_kwargs = {'install': True,
'cpp_pch': True,
'c_args': True,
'objc_args': True,
+ 'objcpp_args': True,
'cpp_args': True,
'cs_args': True,
'vala_args': True,
@@ -632,6 +633,10 @@ class BuildTarget(Target):
if not isinstance(objclist, list):
objclist = [objclist]
self.add_compiler_args('objc', objclist)
+ objcpplist = kwargs.get('objcpp_args', [])
+ if not isinstance(objcpplist, list):
+ objcpplist = [objcpplist]
+ self.add_compiler_args('objcpp', objcpplist)
fortranlist = kwargs.get('fortran_args', [])
if not isinstance(fortranlist, list):
fortranlist = [fortranlist]
diff --git a/test cases/objc/5 objc++ args/meson.build b/test cases/objc/5 objc++ args/meson.build
new file mode 100644
index 0000000..e0e34b0
--- /dev/null
+++ b/test cases/objc/5 objc++ args/meson.build
@@ -0,0 +1,4 @@
+project('objective c++ args', 'objcpp')
+
+exe = executable('prog', 'prog.mm', objcpp_args : ['-DMESON_OBJCPP_TEST'])
+test('objective c++ args', exe)
diff --git a/test cases/objc/5 objc++ args/prog.mm b/test cases/objc/5 objc++ args/prog.mm
new file mode 100644
index 0000000..3decaf2
--- /dev/null
+++ b/test cases/objc/5 objc++ args/prog.mm
@@ -0,0 +1,16 @@
+#import<stdio.h>
+
+class TestClass
+{
+};
+
+int main(int argc, char **argv)
+{
+#ifdef MESON_OBJCPP_TEST
+int x = 1;
+#endif
+
+ printf("x = %x\n", x);
+
+ return 0;
+}