68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								# - Find FLAC
							 | 
						||
| 
								 | 
							
								# Find the native FLAC includes and libraries
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#  FLAC_INCLUDE_DIRS - where to find FLAC headers.
							 | 
						||
| 
								 | 
							
								#  FLAC_LIBRARIES    - List of libraries when using libFLAC.
							 | 
						||
| 
								 | 
							
								#  FLAC_FOUND        - True if libFLAC found.
							 | 
						||
| 
								 | 
							
								#  FLAC_DEFINITIONS  - FLAC compile definitons 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (FLAC_INCLUDE_DIR)
							 | 
						||
| 
								 | 
							
								    # Already in cache, be silent
							 | 
						||
| 
								 | 
							
								    set (FLAC_FIND_QUIETLY TRUE)
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_package (Ogg QUIET)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_package (PkgConfig QUIET)
							 | 
						||
| 
								 | 
							
								pkg_check_modules(PC_FLAC QUIET flac)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set(FLAC_VERSION ${PC_FLAC_VERSION})
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_path (FLAC_INCLUDE_DIR FLAC/stream_decoder.h
							 | 
						||
| 
								 | 
							
									HINTS
							 | 
						||
| 
								 | 
							
										${PC_FLAC_INCLUDEDIR}
							 | 
						||
| 
								 | 
							
										${PC_FLAC_INCLUDE_DIRS}
							 | 
						||
| 
								 | 
							
										${FLAC_ROOT}
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# MSVC built libraries can name them *_static, which is good as it
							 | 
						||
| 
								 | 
							
								# distinguishes import libraries from static libraries with the same extension.
							 | 
						||
| 
								 | 
							
								find_library (FLAC_LIBRARY
							 | 
						||
| 
								 | 
							
									NAMES
							 | 
						||
| 
								 | 
							
										FLAC
							 | 
						||
| 
								 | 
							
										libFLAC
							 | 
						||
| 
								 | 
							
										libFLAC_dynamic
							 | 
						||
| 
								 | 
							
										libFLAC_static
							 | 
						||
| 
								 | 
							
									HINTS
							 | 
						||
| 
								 | 
							
										${PC_FLAC_LIBDIR}
							 | 
						||
| 
								 | 
							
										${PC_FLAC_LIBRARY_DIRS}
							 | 
						||
| 
								 | 
							
										${FLAC_ROOT}
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Handle the QUIETLY and REQUIRED arguments and set FLAC_FOUND to TRUE if
							 | 
						||
| 
								 | 
							
								# all listed variables are TRUE.
							 | 
						||
| 
								 | 
							
								include (FindPackageHandleStandardArgs)
							 | 
						||
| 
								 | 
							
								find_package_handle_standard_args (FLAC
							 | 
						||
| 
								 | 
							
									REQUIRED_VARS
							 | 
						||
| 
								 | 
							
										FLAC_LIBRARY
							 | 
						||
| 
								 | 
							
										FLAC_INCLUDE_DIR
							 | 
						||
| 
								 | 
							
										Ogg_FOUND
							 | 
						||
| 
								 | 
							
									VERSION_VAR
							 | 
						||
| 
								 | 
							
								        FLAC_VERSION
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (FLAC_FOUND)
							 | 
						||
| 
								 | 
							
									set (FLAC_INCLUDE_DIRS ${FLAC_INCLUDE_DIR})
							 | 
						||
| 
								 | 
							
									set (FLAC_LIBRARIES ${FLAC_LIBRARY} ${OGG_LIBRARIES})
							 | 
						||
| 
								 | 
							
								    if (NOT TARGET FLAC::FLAC)
							 | 
						||
| 
								 | 
							
										add_library(FLAC::FLAC UNKNOWN IMPORTED)
							 | 
						||
| 
								 | 
							
										set_target_properties(FLAC::FLAC PROPERTIES
							 | 
						||
| 
								 | 
							
											INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
							 | 
						||
| 
								 | 
							
											IMPORTED_LOCATION "${FLAC_LIBRARY}"
							 | 
						||
| 
								 | 
							
											INTERFACE_LINK_LIBRARIES Ogg::ogg
							 | 
						||
| 
								 | 
							
											)
							 | 
						||
| 
								 | 
							
									endif ()
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								mark_as_advanced(FLAC_INCLUDE_DIR FLAC_LIBRARY)
							 |