Преглед изворни кода

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 година
родитељ
комит
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