message: Preserve iOS stack traces
diff: @@ -337,19 +337,23 @@ endif()
  # ==================================================================================================
  # Release compiler flags
  # ==================================================================================================
  -if (NOT MSVC)
  +if (NOT MSVC AND NOT IOS)
  + # Omitting stack frame pointers prevents the generation of readable stack traces in crash reports on iOS
  set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fomit-frame-pointer")
  # These aren't compatible with -fembed-bitcode (and seem to have no effect on Apple platforms anyway)
  - if (NOT IOS)
  set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffunction-sections -fdata-sections")
  endif()
  -endif()
  # On Android RELEASE builds, we disable exceptions and RTTI to save some space (about 75 KiB
  # saved by -fno-exception and 10 KiB saved by -fno-rtti).
  if (ANDROID OR IOS OR WEBGL)
  - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti")
  + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-exceptions -fno-rtti")
  +
  + if (ANDROID OR WEBGL)
  + # Omitting unwind info prevents the generation of readable stack traces in crash reports on iOS
  + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-unwind-tables -fno-asynchronous-unwind-tables")
  + endif()
  endif()
  # With WebGL, we disable RTTI even for debug builds because we pass emscripten::val back and forth
  