From 50c81d267b3522e8bdd2dcc2b85c0740bea88ce2 Mon Sep 17 00:00:00 2001 From: Paulo Antonio Alvarez Date: Mon, 22 May 2017 21:14:37 -0300 Subject: objc++: Add support for objcpp_args keyword This allows the user to pass additional flags for the objective-c++ compiler. --- mesonbuild/build.py | 5 +++++ test cases/objc/5 objc++ args/meson.build | 4 ++++ test cases/objc/5 objc++ args/prog.mm | 16 ++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 test cases/objc/5 objc++ args/meson.build create mode 100644 test cases/objc/5 objc++ args/prog.mm diff --git a/mesonbuild/build.py b/mesonbuild/build.py index 3e87e073c..8163bca78 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 000000000..e0e34b0f1 --- /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 000000000..3decaf230 --- /dev/null +++ b/test cases/objc/5 objc++ args/prog.mm @@ -0,0 +1,16 @@ +#import + +class TestClass +{ +}; + +int main(int argc, char **argv) +{ +#ifdef MESON_OBJCPP_TEST +int x = 1; +#endif + + printf("x = %x\n", x); + + return 0; +} -- cgit v1.2.3