godot/platform/ios
Rémi Verschelde 269b115d9c SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.

(cherry picked from commit 3907e53ff6)
2023-09-20 22:44:05 +02:00
..
api Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
doc_classes Enhance icon fallback and their docs for exporters 2023-06-03 19:28:50 -03:00
export Display a message about missing C# support on Android/iOS/Web platforms 2023-06-24 00:09:06 +02:00
README.md Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
SCsub iOS: Fix memory leak on touch input 2023-02-15 09:45:38 +01:00
app_delegate.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
app_delegate.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
detect.py SCons: Disable C++ exception handling 2023-09-20 22:44:05 +02:00
device_metrics.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
device_metrics.m iOS: Add new model identifiers for DPI metrics 2023-01-09 10:58:43 +01:00
display_layer.h [iOS] Restore OpenGLES3 renderer support. 2023-01-22 13:59:52 +02:00
display_layer.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
display_server_ios.h [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
display_server_ios.mm [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
godot_app_delegate.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
godot_app_delegate.m One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
godot_ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
godot_view.h iOS: Fix memory leak on touch input 2023-02-15 09:45:38 +01:00
godot_view.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
godot_view_renderer.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
godot_view_renderer.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
ios.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
joypad_ios.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
joypad_ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
key_mapping_ios.h Cleanup and unify keyboard input. 2023-01-23 15:08:12 +02:00
key_mapping_ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
keyboard_input_view.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
keyboard_input_view.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
main.m Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
os_ios.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
os_ios.mm Fix formatting of dlopen error message on Windows 2023-07-10 18:09:57 +02:00
platform_config.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
tts_ios.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
tts_ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
view_controller.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
view_controller.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
vulkan_context_ios.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
vulkan_context_ios.mm Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00

README.md

iOS platform port

This folder contains the C++, Objective-C and Objective-C++ code for the iOS platform port.

See also misc/dist/ios_xcode folder for the Xcode project template used for packaging the iOS export templates.

Documentation