96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								#[=======================================================================[.rst:
							 | 
						||
| 
								 | 
							
								Findmpg123
							 | 
						||
| 
								 | 
							
								-------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Finds the mpg123 library.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Imported Targets
							 | 
						||
| 
								 | 
							
								^^^^^^^^^^^^^^^^
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This module provides the following imported targets, if found:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``MPG123::libmpg123``
							 | 
						||
| 
								 | 
							
								  The mpg123 library
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Result Variables
							 | 
						||
| 
								 | 
							
								^^^^^^^^^^^^^^^^
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This will define the following variables:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``mpg123_FOUND``
							 | 
						||
| 
								 | 
							
								  True if the system has the mpg123 package.
							 | 
						||
| 
								 | 
							
								``mpg123_VERSION``
							 | 
						||
| 
								 | 
							
									The version of mpg123 that was found on the system.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Cache Variables
							 | 
						||
| 
								 | 
							
								^^^^^^^^^^^^^^^
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following cache variables may also be set:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								``mpg123_INCLUDE_DIR``
							 | 
						||
| 
								 | 
							
								  The directory containing ``mpg123.h``.
							 | 
						||
| 
								 | 
							
								``mpg123_LIBRARY``
							 | 
						||
| 
								 | 
							
								  The path to the mpg123 library.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#]=======================================================================]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (mpg123_INCLUDE_DIR)
							 | 
						||
| 
								 | 
							
								    # Already in cache, be silent
							 | 
						||
| 
								 | 
							
								    set(mpg123_FIND_QUIETLY TRUE)
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_package (PkgConfig QUIET)
							 | 
						||
| 
								 | 
							
								pkg_check_modules(PC_MPG123 QUIET libmpg123>=1.25.10)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_path (mpg123_INCLUDE_DIR mpg123.h
							 | 
						||
| 
								 | 
							
									HINTS
							 | 
						||
| 
								 | 
							
										${PC_MPG123_INCLUDEDIR}
							 | 
						||
| 
								 | 
							
										${PC_MPG123_INCLUDE_DIRS}
							 | 
						||
| 
								 | 
							
										${mpg123_ROOT}
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# MSVC built mpg123 may be named mpg123_static.
							 | 
						||
| 
								 | 
							
								# The provided project files name the library with the lib prefix.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								find_library (mpg123_LIBRARY
							 | 
						||
| 
								 | 
							
									NAMES
							 | 
						||
| 
								 | 
							
										mpg123
							 | 
						||
| 
								 | 
							
										mpg123_static
							 | 
						||
| 
								 | 
							
										libmpg123
							 | 
						||
| 
								 | 
							
										libmpg123_static
							 | 
						||
| 
								 | 
							
									HINTS
							 | 
						||
| 
								 | 
							
										${PC_MPG123_LIBDIR}
							 | 
						||
| 
								 | 
							
										${PC_MPG123_LIBRARY_DIRS}
							 | 
						||
| 
								 | 
							
										${mpg123_ROOT}
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (PC_MPG123_FOUND)
							 | 
						||
| 
								 | 
							
									set (mpg123_VERSION ${PC_MPG123_VERSION})
							 | 
						||
| 
								 | 
							
								elseif (mpg123_INCLUDE_DIR)
							 | 
						||
| 
								 | 
							
									file (READ "${mpg123_INCLUDE_DIR}/mpg123.h" _mpg123_h)
							 | 
						||
| 
								 | 
							
									string (REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" _mpg123_version_re "${_mpg123_h}")
							 | 
						||
| 
								 | 
							
									set (mpg123_VERSION "${_mpg123_version_re}")
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Handle the QUIETLY and REQUIRED arguments and set mpg123_FOUND
							 | 
						||
| 
								 | 
							
								# to TRUE if all listed variables are TRUE.
							 | 
						||
| 
								 | 
							
								include(FindPackageHandleStandardArgs)
							 | 
						||
| 
								 | 
							
								find_package_handle_standard_args (mpg123
							 | 
						||
| 
								 | 
							
									REQUIRED_VARS
							 | 
						||
| 
								 | 
							
										mpg123_LIBRARY
							 | 
						||
| 
								 | 
							
										mpg123_INCLUDE_DIR
							 | 
						||
| 
								 | 
							
									VERSION_VAR
							 | 
						||
| 
								 | 
							
										mpg123_VERSION
							 | 
						||
| 
								 | 
							
									)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (mpg123_FOUND AND NOT TARGET MPG123::libmpg123)
							 | 
						||
| 
								 | 
							
									add_library (MPG123::libmpg123 UNKNOWN IMPORTED)
							 | 
						||
| 
								 | 
							
									set_target_properties (MPG123::libmpg123
							 | 
						||
| 
								 | 
							
										PROPERTIES 
							 | 
						||
| 
								 | 
							
											IMPORTED_LOCATION "${mpg123_LIBRARY}"
							 | 
						||
| 
								 | 
							
											INTERFACE_INCLUDE_DIRECTORIES "${mpg123_INCLUDE_DIR}"
							 | 
						||
| 
								 | 
							
										)
							 | 
						||
| 
								 | 
							
								endif ()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								mark_as_advanced(mpg123_INCLUDE_DIR mpg123_LIBRARY)
							 |