aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Antonio Alvarez <pauloaalvarez@gmail.com>2017-05-22 21:14:37 -0300
committerPaulo Antonio Alvarez <pauloaalvarez@gmail.com>2017-05-22 21:21:15 -0300
commit50c81d267b3522e8bdd2dcc2b85c0740bea88ce2 (patch)
tree6e391cdae5ee8112376fb7587f35e022a6142171
parent18d2e7b91c81a19101ffdbbb11a9a35c9cfad8a7 (diff)
downloadmeson-50c81d267b3522e8bdd2dcc2b85c0740bea88ce2.zip
meson-50c81d267b3522e8bdd2dcc2b85c0740bea88ce2.tar.gz
meson-50c81d267b3522e8bdd2dcc2b85c0740bea88ce2.tar.bz2
objc++: Add support for objcpp_args keyword
This allows the user to pass additional flags for the objective-c++ compiler.
-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;
+}