SDL: fix ARM64 linkage with Visual Studio >= 17.14 when SDL_LIBC is disabled

From 2fb6abb9ad27cd0948a47fd53ced0ab138d7d12a Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 8 Jul 2025 06:47:47 +0300
Subject: [PATCH] fix ARM64 linkage with Visual Studio >= 17.14 when SDL_LIBC
 is disabled

Reference issue:  https://github.com/libsdl-org/SDL/issues/13254
---
 CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea2368cdfe9aa..ea13c80493b58 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -755,6 +755,11 @@ if(MSVC)
   if(MSVC_VERSION GREATER 1926 AND CMAKE_GENERATOR_PLATFORM MATCHES "Win32|x64")
     list(APPEND EXTRA_LDFLAGS_BUILD "-CETCOMPAT")
   endif()
+
+  # for VS >= 17.14 targeting ARM64: inline the Interlocked funcs
+  if(MSVC_VERSION GREATER 1943 AND SDL_CPU_ARM64 AND NOT SDL_LIBC)
+    list(APPEND EXTRA_CFLAGS /forceInterlockedFunctions-)
+  endif()
 endif()
 
 if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")