Просмотр исходного кода

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.
lat9nq 5 лет назад
Родитель
Сommit
b021e09fc0
1 измененных файлов с 3 добавлено и 0 удалено
  1. 3 0
      externals/CMakeLists.txt

+ 3 - 0
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