Bläddra i källkod

externals: Add SDL 2.0.12

Since Bintray is (soon to be) no more, there needs to be a way to
acquire SDL2. Since 20.04's version is older than our minimum required
version (2.0.12), add it as an external.
lat9nq 5 år sedan
förälder
incheckning
12e58917c0
4 ändrade filer med 21 tillägg och 9 borttagningar
  1. 3 0
      .gitmodules
  2. 11 9
      CMakeLists.txt
  3. 6 0
      externals/CMakeLists.txt
  4. 1 0
      externals/SDL

+ 3 - 0
.gitmodules

@@ -40,3 +40,6 @@
 [submodule "ffmpeg"]
 	path = externals/ffmpeg
 	url = https://git.ffmpeg.org/ffmpeg.git
+[submodule "externals/SDL"]
+	path = externals/SDL
+	url = https://github.com/libsdl-org/SDL.git

+ 11 - 9
CMakeLists.txt

@@ -274,17 +274,19 @@ if (ENABLE_SDL2)
         target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}")
         target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
     else()
-        find_package(SDL2 REQUIRED)
+        find_package(SDL2 2.0.12)
 
-        # Some installations don't set SDL2_LIBRARIES
-        if("${SDL2_LIBRARIES}" STREQUAL "")
-            message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
-            set(SDL2_LIBRARIES "SDL2::SDL2")
-        endif()
+        if(SDL2_FOUND)
+            # Some installations don't set SDL2_LIBRARIES
+            if("${SDL2_LIBRARIES}" STREQUAL "")
+                message(WARNING "SDL2_LIBRARIES wasn't set, manually setting to SDL2::SDL2")
+                set(SDL2_LIBRARIES "SDL2::SDL2")
+            endif()
 
-        include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
-        add_library(SDL2 INTERFACE)
-        target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
+            include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
+            add_library(SDL2 INTERFACE)
+            target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
+        endif()
     endif()
 else()
     set(SDL2_FOUND NO)

+ 6 - 0
externals/CMakeLists.txt

@@ -45,6 +45,12 @@ target_include_directories(microprofile INTERFACE ./microprofile)
 add_library(unicorn-headers INTERFACE)
 target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
 
+# SDL2
+if (NOT SDL2_FOUND)
+    set(SDL2_FOUND YES)
+    add_subdirectory(SDL EXCLUDE_FROM_ALL)
+endif()
+
 # SoundTouch
 add_subdirectory(soundtouch)
 

+ 1 - 0
externals/SDL

@@ -0,0 +1 @@
+Subproject commit 983bbf9ef3e572a073a6f5877faf1c0b4803527c