mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	externals: Move library headers CMake logic to Citra. (#6627)
This commit is contained in:
		
							parent
							
								
									bfb6a5b5de
								
							
						
					
					
						commit
						70225e92f7
					
				
					 3 changed files with 49 additions and 1 deletions
				
			
		
							
								
								
									
										2
									
								
								.gitmodules
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitmodules
									
										
									
									
										vendored
									
									
								
							|  | @ -80,5 +80,5 @@ | ||||||
|     path = externals/sirit |     path = externals/sirit | ||||||
|     url = https://github.com/yuzu-emu/sirit |     url = https://github.com/yuzu-emu/sirit | ||||||
| [submodule "library-headers"] | [submodule "library-headers"] | ||||||
|     path = externals/library-headers |     path = externals/library-headers/library-headers | ||||||
|     url = https://github.com/citra-emu/ext-library-headers.git |     url = https://github.com/citra-emu/ext-library-headers.git | ||||||
|  |  | ||||||
							
								
								
									
										48
									
								
								externals/library-headers/CMakeLists.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								externals/library-headers/CMakeLists.txt
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,48 @@ | ||||||
|  | add_library(library-headers INTERFACE) | ||||||
|  | 
 | ||||||
|  | # libfdk-aac headers | ||||||
|  | find_path(FDK_AAC_INCLUDES NAMES fdk-aac/aacdecoder_lib.h) | ||||||
|  | if (FDK_AAC_INCLUDES STREQUAL "FDK_AAC_INCLUDES-NOTFOUND") | ||||||
|  |     message(STATUS "fdk_aac headers not found, using bundled headers.") | ||||||
|  |     target_include_directories(library-headers INTERFACE ./library-headers/fdk-aac/include) | ||||||
|  | else() | ||||||
|  |     message(STATUS "Using headers from system fdk_aac") | ||||||
|  |     target_include_directories(library-headers SYSTEM INTERFACE ${FDK_AAC_INCLUDES}) | ||||||
|  | endif() | ||||||
|  | 
 | ||||||
|  | # FFmpeg headers | ||||||
|  | find_path(AVUTIL_INCLUDES NAMES libavutil/avutil.h) | ||||||
|  | find_path(AVCODEC_INCLUDES NAMES libavcodec/avcodec.h) | ||||||
|  | find_path(AVFORMAT_INCLUDES NAMES libavformat/avformat.h) | ||||||
|  | find_path(AVFILTER_INCLUDES NAMES libavfilter/avfilter.h) | ||||||
|  | find_path(SWRESAMPLE_INCLUDES NAMES libswresample/swresample.h) | ||||||
|  | # Make sure all the headers are found and from the same place, so we don't | ||||||
|  | # have missing or mismatched components. | ||||||
|  | if (AVUTIL_INCLUDES STREQUAL "AVUTIL_INCLUDES-NOTFOUND" | ||||||
|  |     OR NOT AVCODEC_INCLUDES STREQUAL AVUTIL_INCLUDES | ||||||
|  |     OR NOT AVFORMAT_INCLUDES STREQUAL AVUTIL_INCLUDES | ||||||
|  |     OR NOT AVFILTER_INCLUDES STREQUAL AVUTIL_INCLUDES | ||||||
|  |     OR NOT SWRESAMPLE_INCLUDES STREQUAL AVUTIL_INCLUDES) | ||||||
|  |     message(STATUS "Complete FFmpeg headers not found, using bundled headers.") | ||||||
|  |     target_include_directories(library-headers INTERFACE ./library-headers/ffmpeg/include) | ||||||
|  | else() | ||||||
|  |     # Extract libavutil version from header. | ||||||
|  |     file(STRINGS "${AVUTIL_INCLUDES}/libavutil/version.h" AVUTIL_VERSION_DATA | ||||||
|  |         REGEX "#define LIBAVUTIL_VERSION_(MAJOR|MINOR|MICRO) ") | ||||||
|  |     set(AVUTIL_VERSION_REGEX "([0-9]+)") | ||||||
|  |     foreach(v MAJOR MINOR MICRO) | ||||||
|  |         if("${AVUTIL_VERSION_DATA}" MATCHES "#define LIBAVUTIL_VERSION_${v}[\\t ]+${AVUTIL_VERSION_REGEX}") | ||||||
|  |             set(AVUTIL_VERSION_${v} "${CMAKE_MATCH_1}") | ||||||
|  |         endif() | ||||||
|  |     endforeach() | ||||||
|  |     set(AVUTIL_VERSION "${AVUTIL_VERSION_MAJOR}.${AVUTIL_VERSION_MINOR}.${AVUTIL_VERSION_MICRO}") | ||||||
|  | 
 | ||||||
|  |     message(STATUS "Detected FFmpeg libavutil version is ${AVUTIL_VERSION}") | ||||||
|  |     if ("${AVUTIL_VERSION}" VERSION_LESS "56.30.100") | ||||||
|  |         message(WARNING "System FFmpeg version is too low (< 4.2), using bundled headers.") | ||||||
|  |         target_include_directories(library-headers INTERFACE ./library-headers/ffmpeg/include) | ||||||
|  |     else() | ||||||
|  |         message(STATUS "Using headers from system FFmpeg") | ||||||
|  |         target_include_directories(library-headers SYSTEM INTERFACE ${AVUTIL_INCLUDES}) | ||||||
|  |     endif() | ||||||
|  | endif() | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue