3cd1cb53a0
Enabled ARC for iOS. Weakify/Strongify macros for objc blocks. Removed old version checks. Specific types for ObjC++ modules to exclude unneeded bridging. Separate DeviceMetrics class for device specific data. Replaced old/deprecated functionality.
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
#!/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)
|