#!/usr/bin/env python Import("env") iphone_lib = [ "godot_iphone.mm", "os_iphone.mm", "main.m", "app_delegate.mm", "view_controller.mm", "game_center.mm", "in_app_store.mm", "icloud.mm", "ios.mm", "vulkan_context_iphone.mm", "display_server_iphone.mm", "joypad_iphone.mm", "godot_view.mm", "display_layer.mm", "godot_view_renderer.mm", "godot_view_gesture_recognizer.mm", "device_metrics.m", ] env_ios = env.Clone() ios_lib = env_ios.add_library("iphone", iphone_lib) # (iOS) Enable module support env_ios.Append(CCFLAGS=["-fmodules", "-fcxx-modules"]) def combine_libs(target=None, source=None, env=None): lib_path = target[0].srcnode().abspath if "osxcross" in env: libtool = "$IPHONEPATH/usr/bin/${ios_triple}libtool" else: libtool = "$IPHONEPATH/usr/bin/libtool" env.Execute( libtool + ' -static -o "' + lib_path + '" ' + " ".join([('"' + lib.srcnode().abspath + '"') for lib in source]) ) combine_command = env_ios.Command("#bin/libgodot" + env_ios["LIBSUFFIX"], [ios_lib] + env_ios["LIBS"], combine_libs)