mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-30 18:24:15 +01:00 
			
		
		
		
	On Linux, build SDL2 from externals with HIDAPI support
This commit is contained in:
		
							parent
							
								
									f2b76284ed
								
							
						
					
					
						commit
						648bef235e
					
				| @ -12,6 +12,8 @@ project(yuzu) | ||||
| # OFF by default, but if ENABLE_SDL2 and MSVC are true then 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) | ||||
| # 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_TRANSLATION "Enable translations for the Qt frontend" OFF) | ||||
| @ -292,20 +294,24 @@ if (ENABLE_SDL2) | ||||
|         target_link_libraries(SDL2 INTERFACE "${SDL2_LIBRARY}") | ||||
|         target_include_directories(SDL2 INTERFACE "${SDL2_INCLUDE_DIR}") | ||||
|     else() | ||||
|         find_package(SDL2 2.0.15 QUIET) | ||||
|         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") | ||||
|             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() | ||||
| 
 | ||||
|             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.") | ||||
|             message(STATUS "Using SDL2 from externals.") | ||||
|         endif() | ||||
|     endif() | ||||
| endif() | ||||
|  | ||||
							
								
								
									
										1
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							| @ -49,6 +49,7 @@ target_include_directories(unicorn-headers INTERFACE ./unicorn/include) | ||||
| if (NOT SDL2_FOUND AND ENABLE_SDL2) | ||||
|     set(SDL_STATIC ON) | ||||
|     set(SDL_SHARED OFF) | ||||
|     set(OPT_DEF_HIDAPI ON) | ||||
|     add_subdirectory(SDL EXCLUDE_FROM_ALL) | ||||
|     add_library(SDL2 ALIAS SDL2-static) | ||||
| endif() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user