From 0941ae0b617839a724a62c0a69914686e81f053f Mon Sep 17 00:00:00 2001
From: lat9nq <22451773+lat9nq@users.noreply.github.com>
Date: Mon, 28 Nov 2022 23:20:04 -0500
Subject: [PATCH] CMake: Directly link to SDL2-static when appropriate

Trying to be lazy and alias SDL2 to SDL2-static causes issues in later
versions of CMake. Just use the same condition to tell which one to use.
---
 externals/CMakeLists.txt        | 1 -
 src/audio_core/CMakeLists.txt   | 6 +++++-
 src/input_common/CMakeLists.txt | 6 +++++-
 src/yuzu/CMakeLists.txt         | 6 +++++-
 4 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index d807ef65f6..9740e017c2 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -69,7 +69,6 @@ if (YUZU_USE_EXTERNAL_SDL2)
     set(SDL_SHARED OFF)
 
     add_subdirectory(SDL EXCLUDE_FROM_ALL)
-    add_library(SDL2 ALIAS SDL2-static)
 endif()
 
 # ENet
diff --git a/src/audio_core/CMakeLists.txt b/src/audio_core/CMakeLists.txt
index 8e3a8f5a8c..75416c53a8 100644
--- a/src/audio_core/CMakeLists.txt
+++ b/src/audio_core/CMakeLists.txt
@@ -226,6 +226,10 @@ if(ENABLE_CUBEB)
     target_compile_definitions(audio_core PRIVATE -DHAVE_CUBEB=1)
 endif()
 if(ENABLE_SDL2)
-    target_link_libraries(audio_core PRIVATE SDL2)
+    if (YUZU_USE_EXTERNAL_SDL2)
+        target_link_libraries(audio_core PRIVATE SDL2-static)
+    else()
+        target_link_libraries(audio_core PRIVATE SDL2)
+    endif()
     target_compile_definitions(audio_core PRIVATE HAVE_SDL2)
 endif()
diff --git a/src/input_common/CMakeLists.txt b/src/input_common/CMakeLists.txt
index cc6f0ffc0c..193127d0a0 100644
--- a/src/input_common/CMakeLists.txt
+++ b/src/input_common/CMakeLists.txt
@@ -55,7 +55,11 @@ if (ENABLE_SDL2)
         drivers/sdl_driver.cpp
         drivers/sdl_driver.h
     )
-    target_link_libraries(input_common PRIVATE SDL2)
+    if (YUZU_USE_EXTERNAL_SDL2)
+        target_link_libraries(input_common PRIVATE SDL2-static)
+    else()
+        target_link_libraries(input_common PRIVATE SDL2)
+    endif()
     target_compile_definitions(input_common PRIVATE HAVE_SDL2)
 endif()
 
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
index 0aa109dd34..060de02590 100644
--- a/src/yuzu/CMakeLists.txt
+++ b/src/yuzu/CMakeLists.txt
@@ -387,7 +387,11 @@ if (YUZU_USE_BUNDLED_QT AND QT_VERSION VERSION_LESS 6)
 endif()
 
 if (ENABLE_SDL2)
-    target_link_libraries(yuzu PRIVATE SDL2)
+    if (YUZU_USE_EXTERNAL_SDL2)
+        target_link_libraries(yuzu PRIVATE SDL2-static)
+    else()
+        target_link_libraries(yuzu PRIVATE SDL2)
+    endif()
     target_compile_definitions(yuzu PRIVATE HAVE_SDL2)
 endif()