SDL: loongarch: Apply mlsx flags only to relevant source files

From 01dff47fd792fd504c208ccb820c745e1a49d3cc Mon Sep 17 00:00:00 2001
From: yuanhecai <[EMAIL REDACTED]>
Date: Thu, 15 Jan 2026 16:01:10 +0800
Subject: [PATCH] loongarch: Apply mlsx flags only to relevant source files

---
 CMakeLists.txt | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d609224783019..61f21fc123a74 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -936,7 +936,17 @@ if(SDL_ASSEMBLY)
       cmake_pop_check_state()
 
       if(CPU_SUPPORTS_LSX AND HAVE_LSXINTRIN_H)
-        list(APPEND EXTRA_CFLAGS "-mlsx")
+        set_property(SOURCE
+            "${SDL2_SOURCE_DIR}/src/video/yuv2rgb/yuv_rgb_lsx.c"
+            "${SDL2_SOURCE_DIR}/src/video/SDL_blit_A.c"
+            "${SDL2_SOURCE_DIR}/src/video/SDL_fillrect.c"
+            APPEND PROPERTY COMPILE_OPTIONS "-mlsx")
+
+        set_property(SOURCE
+            "${SDL2_SOURCE_DIR}/src/video/yuv2rgb/yuv_rgb_lsx.c"
+            "${SDL2_SOURCE_DIR}/src/video/SDL_blit_A.c"
+            "${SDL2_SOURCE_DIR}/src/video/SDL_fillrect.c"
+            PROPERTY SKIP_PRECOMPILE_HEADERS 1)
         set(HAVE_LSX TRUE)
       endif()
     endif()