mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	externals: allow user to use system openal (#7145)
This commit is contained in:
		
							parent
							
								
									d4f31bc617
								
							
						
					
					
						commit
						80ac6c03b5
					
				
					 3 changed files with 54 additions and 9 deletions
				
			
		
							
								
								
									
										6
									
								
								externals/CMakeLists.txt
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								externals/CMakeLists.txt
									
										
									
									
										vendored
									
									
								
							|  | @ -344,6 +344,11 @@ endif() | ||||||
| 
 | 
 | ||||||
| # OpenAL Soft | # OpenAL Soft | ||||||
| if (ENABLE_OPENAL) | if (ENABLE_OPENAL) | ||||||
|  |     if(USE_SYSTEM_OPENAL) | ||||||
|  |         add_library(OpenAL INTERFACE) | ||||||
|  |         find_package(OpenAL REQUIRED) | ||||||
|  |         target_link_libraries(OpenAL INTERFACE OpenAL::OpenAL) | ||||||
|  |     else() | ||||||
|         set(ALSOFT_EMBED_HRTF_DATA OFF CACHE BOOL "") |         set(ALSOFT_EMBED_HRTF_DATA OFF CACHE BOOL "") | ||||||
|         set(ALSOFT_EXAMPLES OFF CACHE BOOL "") |         set(ALSOFT_EXAMPLES OFF CACHE BOOL "") | ||||||
|         set(ALSOFT_INSTALL OFF CACHE BOOL "") |         set(ALSOFT_INSTALL OFF CACHE BOOL "") | ||||||
|  | @ -353,6 +358,7 @@ if (ENABLE_OPENAL) | ||||||
|         set(ALSOFT_UTILS OFF CACHE BOOL "") |         set(ALSOFT_UTILS OFF CACHE BOOL "") | ||||||
|         set(LIBTYPE "STATIC" CACHE STRING "") |         set(LIBTYPE "STATIC" CACHE STRING "") | ||||||
|         add_subdirectory(openal-soft EXCLUDE_FROM_ALL) |         add_subdirectory(openal-soft EXCLUDE_FROM_ALL) | ||||||
|  |     endif() | ||||||
| endif() | endif() | ||||||
| 
 | 
 | ||||||
| # VMA | # VMA | ||||||
|  |  | ||||||
|  | @ -22,6 +22,7 @@ option(USE_SYSTEM_ENET "Use the system libenet (instead of the bundled one)" OFF | ||||||
| option(USE_SYSTEM_CRYPTOPP "Use the system cryptopp (instead of the bundled one)" OFF) | option(USE_SYSTEM_CRYPTOPP "Use the system cryptopp (instead of the bundled one)" OFF) | ||||||
| option(USE_SYSTEM_CUBEB "Use the system cubeb (instead of the bundled one)" OFF) | option(USE_SYSTEM_CUBEB "Use the system cubeb (instead of the bundled one)" OFF) | ||||||
| option(USE_SYSTEM_LODEPNG "Use the system lodepng (instead of the bundled one)" OFF) | option(USE_SYSTEM_LODEPNG "Use the system lodepng (instead of the bundled one)" OFF) | ||||||
|  | option(USE_SYSTEM_OPENAL "Use the system OpenAL (instead of the bundled one)" OFF) | ||||||
| 
 | 
 | ||||||
| # Qt and MoltenVK are handled separately | # Qt and MoltenVK are handled separately | ||||||
| CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_SDL2 "Disable system SDL2" OFF "USE_SYSTEM_LIBS" OFF) | CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_SDL2 "Disable system SDL2" OFF "USE_SYSTEM_LIBS" OFF) | ||||||
|  | @ -43,6 +44,7 @@ CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_ENET "Disable system libenet" OFF "USE_SYS | ||||||
| CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_CRYPTOPP "Disable system cryptopp" OFF "USE_SYSTEM_LIBS" OFF) | CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_CRYPTOPP "Disable system cryptopp" OFF "USE_SYSTEM_LIBS" OFF) | ||||||
| CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_CUBEB "Disable system cubeb" OFF "USE_SYSTEM_LIBS" OFF) | CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_CUBEB "Disable system cubeb" OFF "USE_SYSTEM_LIBS" OFF) | ||||||
| CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_LODEPNG "Disable system lodepng" OFF "USE_SYSTEM_LIBS" OFF) | CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_LODEPNG "Disable system lodepng" OFF "USE_SYSTEM_LIBS" OFF) | ||||||
|  | CMAKE_DEPENDENT_OPTION(DISABLE_SYSTEM_OPENAL "Disable system OpenAL" OFF "USE_SYSTEM_LIBS" OFF) | ||||||
| 
 | 
 | ||||||
| set(LIB_VAR_LIST | set(LIB_VAR_LIST | ||||||
|     SDL2 |     SDL2 | ||||||
|  | @ -64,6 +66,7 @@ set(LIB_VAR_LIST | ||||||
|     CRYPTOPP |     CRYPTOPP | ||||||
|     CUBEB |     CUBEB | ||||||
|     LODEPNG |     LODEPNG | ||||||
|  |     OPENAL | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
| # First, check that USE_SYSTEM_XXX is not used with USE_SYSTEM_LIBS | # First, check that USE_SYSTEM_XXX is not used with USE_SYSTEM_LIBS | ||||||
|  |  | ||||||
							
								
								
									
										36
									
								
								externals/cmake-modules/FindOpenAL.cmake
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								externals/cmake-modules/FindOpenAL.cmake
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | ||||||
|  | if(NOT OPENAL_FOUND) | ||||||
|  |     pkg_check_modules(OOPENAL_TMP libopanal) | ||||||
|  | 
 | ||||||
|  |     find_path(OPENAL_INCLUDE_DIRS NAMES al.h | ||||||
|  |             PATHS | ||||||
|  |             ${OPENAL_TMP_INCLUDE_DIRS} | ||||||
|  |             /usr/include/AL | ||||||
|  |             /usr/include | ||||||
|  |             /usr/local/include/AL | ||||||
|  |             /usr/local/include | ||||||
|  |             ) | ||||||
|  | 
 | ||||||
|  |     find_library(OPENAL_LIBRARY_DIRS NAMES openal | ||||||
|  |             PATHS | ||||||
|  |             ${OPENAL_TMP_LIBRARY_DIRS} | ||||||
|  |             /usr/lib | ||||||
|  |             /usr/local/lib | ||||||
|  |             ) | ||||||
|  | 
 | ||||||
|  |     if(OPENAL_INCLUDE_DIRS AND OPENAL_LIBRARY_DIRS) | ||||||
|  |         set(OPENAL_FOUND TRUE CACHE INTERNAL "OpenAL found") | ||||||
|  |         message(STATUS "Found OpenAL: ${OPENAL_LIBRARY_DIRS}, ${OPENAL_INCLUDE_DIRS}") | ||||||
|  |     else() | ||||||
|  |         set(OPENAL_FOUND FALSE CACHE INTERNAL "OpenAL found") | ||||||
|  |         message(STATUS "OpenAL not found.") | ||||||
|  |     endif() | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
|  | if(OPENAL_FOUND AND NOT TARGET OpenAL::OpenAL) | ||||||
|  |     add_library(OpenAL::OpenAL UNKNOWN IMPORTED) | ||||||
|  |     set_target_properties(OpenAL::OpenAL PROPERTIES | ||||||
|  |             INCLUDE_DIRECTORIES ${OPENAL_INCLUDE_DIRS} | ||||||
|  |             INTERFACE_LINK_LIBRARIES ${OPENAL_LIBRARY_DIRS} | ||||||
|  |             IMPORTED_LOCATION ${OPENAL_LIBRARY_DIRS} | ||||||
|  |             ) | ||||||
|  | endif() | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue