cmake: Use SDL 2.0.14 and fix CMake scope issue
Forces using SDL 2.0.14. Upgrades the SDL external to that version. Adds a message when switching to the external. Fixes an error where input_common only links to SDL when SDL2_FOUND is set, but externals/CMakeLists cannot set that variable to the required scope. Switch to using ENABLE_SDL2, which we can use since we now include the SDL source.
This commit is contained in:
parent
2a2a578932
commit
de69a5266f
|
@ -274,7 +274,7 @@ if (ENABLE_SDL2)
|
|||
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}")
|
||||
target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
||||
else()
|
||||
find_package(SDL2 2.0.12)
|
||||
find_package(SDL2 2.0.14)
|
||||
|
||||
if (SDL2_FOUND)
|
||||
# Some installations don't set SDL2_LIBRARIES
|
||||
|
@ -286,10 +286,10 @@ if (ENABLE_SDL2)
|
|||
include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
||||
add_library(SDL2 INTERFACE)
|
||||
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
set(SDL2_FOUND NO)
|
||||
message(STATUS "SDL2 2.0.14 or newer not found, falling back to externals.")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install any missing dependencies with conan install
|
||||
|
|
|
@ -46,8 +46,7 @@ add_library(unicorn-headers INTERFACE)
|
|||
target_include_directories(unicorn-headers INTERFACE ./unicorn/include)
|
||||
|
||||
# SDL2
|
||||
if (NOT SDL2_FOUND)
|
||||
set(SDL2_FOUND YES)
|
||||
if (NOT SDL2_FOUND AND ENABLE_SDL2)
|
||||
add_subdirectory(SDL EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 983bbf9ef3e572a073a6f5877faf1c0b4803527c
|
||||
Subproject commit 4cd981609b50ed273d80c635c1ca4c1e5518fb21
|
|
@ -62,7 +62,7 @@ else()
|
|||
)
|
||||
endif()
|
||||
|
||||
if(SDL2_FOUND)
|
||||
if (ENABLE_SDL2)
|
||||
target_sources(input_common PRIVATE
|
||||
sdl/sdl_impl.cpp
|
||||
sdl/sdl_impl.h
|
||||
|
|
Reference in New Issue