|
@@ -12,6 +12,8 @@ project(yuzu)
|
|
|
# OFF by default, but if ENABLE_SDL2 and MSVC are true then ON
|
|
# OFF by default, but if ENABLE_SDL2 and MSVC are true then ON
|
|
|
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
|
|
option(ENABLE_SDL2 "Enable the SDL2 frontend" ON)
|
|
|
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" ON "ENABLE_SDL2;MSVC" OFF)
|
|
CMAKE_DEPENDENT_OPTION(YUZU_USE_BUNDLED_SDL2 "Download bundled SDL2 binaries" ON "ENABLE_SDL2;MSVC" OFF)
|
|
|
|
|
+# On Linux system SDL2 is likely to be lacking HIDAPI support which have drawbacks but is needed for SDL motion
|
|
|
|
|
+CMAKE_DEPENDENT_OPTION(YUZU_ALLOW_SYSTEM_SDL2 "Try using system SDL2 before fallling back to one from externals" NOT UNIX "ENABLE_SDL2" OFF)
|
|
|
|
|
|
|
|
option(ENABLE_QT "Enable the Qt frontend" ON)
|
|
option(ENABLE_QT "Enable the Qt frontend" ON)
|
|
|
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
|
option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF)
|
|
@@ -292,20 +294,24 @@ if (ENABLE_SDL2)
|
|
|
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}")
|
|
target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}")
|
|
|
target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
|
target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
|
|
else()
|
|
else()
|
|
|
- find_package(SDL2 2.0.15 QUIET)
|
|
|
|
|
-
|
|
|
|
|
- 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")
|
|
|
|
|
|
|
+ if (YUZU_ALLOW_SYSTEM_SDL2)
|
|
|
|
|
+ find_package(SDL2 2.0.15 QUIET)
|
|
|
|
|
+
|
|
|
|
|
+ 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}")
|
|
|
|
|
+ else()
|
|
|
|
|
+ message(STATUS "SDL2 2.0.15 or newer not found, falling back to externals.")
|
|
|
endif()
|
|
endif()
|
|
|
-
|
|
|
|
|
- include_directories(SYSTEM ${SDL2_INCLUDE_DIRS})
|
|
|
|
|
- add_library(SDL2 INTERFACE)
|
|
|
|
|
- target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARIES}")
|
|
|
|
|
else()
|
|
else()
|
|
|
- message(STATUS "SDL2 2.0.15 or newer not found, falling back to externals.")
|
|
|
|
|
|
|
+ message(STATUS "Using SDL2 from externals.")
|
|
|
endif()
|
|
endif()
|
|
|
endif()
|
|
endif()
|
|
|
endif()
|
|
endif()
|