diff options
-rw-r--r-- | mesonbuild/build.py | 5 | ||||
-rw-r--r-- | test cases/objc/5 objc++ args/meson.build | 4 | ||||
-rw-r--r-- | test cases/objc/5 objc++ args/prog.mm | 16 |
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; +} |