diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-05-21 17:11:56 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-05-23 17:59:14 +0100 |
commit | 43f0aa17b7b17cd8bfe741d0245085e78a3b291b (patch) | |
tree | 29955a6eb57824b089060436f8ce7d83f1871a50 /mesonbuild/backend/xcodebackend.py | |
parent | cb085f3eb3ca0e93b176cd1304cd330cc5b3863e (diff) | |
download | meson-43f0aa17b7b17cd8bfe741d0245085e78a3b291b.zip meson-43f0aa17b7b17cd8bfe741d0245085e78a3b291b.tar.gz meson-43f0aa17b7b17cd8bfe741d0245085e78a3b291b.tar.bz2 |
Add swift executable support in Xcode.
Diffstat (limited to 'mesonbuild/backend/xcodebackend.py')
-rw-r--r-- | mesonbuild/backend/xcodebackend.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/backend/xcodebackend.py b/mesonbuild/backend/xcodebackend.py index 7a932de..eda4ccc 100644 --- a/mesonbuild/backend/xcodebackend.py +++ b/mesonbuild/backend/xcodebackend.py @@ -47,6 +47,7 @@ LANGNAMEMAP = {'c': 'C', 'cpp': 'CPLUSPLUS', 'objc': 'OBJC', 'objcpp': 'OBJCPLUSPLUS', + 'swift': 'SWIFT_' } OPT2XCODEOPT = {'0': '0', 'g': '0', @@ -1336,7 +1337,7 @@ class XCodeBackend(backends.Backend): bt_dict.add_item('buildSettings', settings_dict) settings_dict.add_item('ARCHS', '"$(NATIVE_ARCH_ACTUAL)"') settings_dict.add_item('ONLY_ACTIVE_ARCH', 'YES') - settings_dict.add_item('SWIFT_VERSION', '4.0') + settings_dict.add_item('SWIFT_VERSION', '5.0') settings_dict.add_item('SDKROOT', '"macosx"') settings_dict.add_item('SYMROOT', '"%s/build"' % self.environment.get_build_dir()) bt_dict.add_item('name', f'"{buildtype}"') @@ -1509,6 +1510,12 @@ class XCodeBackend(backends.Backend): gargs = self.build.global_args[target.for_machine].get(lang, []) targs = target.get_extra_args(lang) args = warn_args + std_args + pargs + gargs + targs + if lang == 'swift': + # For some reason putting Swift module dirs in HEADER_SEARCH_PATHS does not work, + # but adding -I/path to manual args does work. + swift_dep_dirs = self.determine_swift_dep_dirs(target) + for d in swift_dep_dirs: + args += compiler.get_include_args(d, False) if args: lang_cargs = cargs if compiler and target.implicit_include_directories: |