SDL: Fix compilation for .m files extension

From b50e42935455f15baae7440e3270557d53711fab Mon Sep 17 00:00:00 2001
From: Luca Lolli <[EMAIL REDACTED]>
Date: Wed, 7 Sep 2022 12:21:56 +0200
Subject: [PATCH] Fix compilation for .m files extension

---
 CMakeLists.txt | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 15999d2e0db4..ecc74cad100f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3224,6 +3224,15 @@ if(PS2)
   target_compile_options(sdl-build-options INTERFACE "-Wno-error=declaration-after-statement")
 endif()
 
+if(APPLE)
+  foreach(SOURCE_FILE ${SOURCE_FILES})
+    get_filename_component(FILE_EXTENSION ${SOURCE_FILE} EXT)
+    if(FILE_EXTENSION STREQUAL "m")
+      set_property(SOURCE ${SOURCE_FILE} APPEND_STRING PROPERTY COMPILE_FLAGS " -x objective-c")
+    endif()
+  endforeach()
+endif()
+
 if(SDL_SHARED)
   add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES})
   add_dependencies(SDL2 sdl_headers_copy)