From b021e09fc097d2669c9e80bb3198977c725bc646 Mon Sep 17 00:00:00 2001 From: lat9nq <22451773+lat9nq@users.noreply.github.com> Date: Sun, 9 May 2021 02:38:46 -0400 Subject: [PATCH] externals: Use SDL2 statically Building it as a shared library causes issues distributing it to an AppImage, since linuxdeploy expects the executable to only dynamically link to system libraries. Additionally, simply dynamically linking to a library in the binary directory is bound to cause issues. Solution is to use SDL's CMake switches and build it statically. We also alias `SDL2` to `SDL2-static` on the external submodule for compatibility with the rest of the project. --- externals/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index e044d9730..e280e53d7 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -47,7 +47,10 @@ target_include_directories(unicorn-headers INTERFACE ./unicorn/include) # SDL2 if (NOT SDL2_FOUND AND ENABLE_SDL2) + set(SDL_STATIC ON) + set(SDL_SHARED OFF) add_subdirectory(SDL EXCLUDE_FROM_ALL) + add_library(SDL2 ALIAS SDL2-static) endif() # SoundTouch