40 lines
		
	
	
		
			1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
|   | 
 | ||
|  | macro(handle_default)
 | ||
|  | 
 | ||
|  | endmacro()
 | ||
|  | 
 | ||
|  | if(TARGET PortAudio::portaudio)
 | ||
|  |   # nothing to do 
 | ||
|  |   return()
 | ||
|  | endif()
 | ||
|  | # search for portaudio as cmake module
 | ||
|  | find_package(PortAudio CONFIG QUIET)
 | ||
|  | if(PortAudio_FOUND)
 | ||
|  |   if(TARGET PortAudio::portaudio)  
 | ||
|  |     return()  
 | ||
|  |   elseif(TARGET portaudio)
 | ||
|  |     # vcpkg and old portaudio installations do not provide the same targets
 | ||
|  |     add_library(PortAudio::portaudio ALIAS portaudio)
 | ||
|  |     return()
 | ||
|  |   else()
 | ||
|  |     message(FATAL_ERROR "PortAudio_FOUND but not target PortAudio::portaudio")  
 | ||
|  |   endif()  
 | ||
|  | endif()
 | ||
|  | 
 | ||
|  | # search for portaudio via pkg-config
 | ||
|  | 
 | ||
|  | message(STATUS "portaudio could not be found via cmake, specify PortAudio_DIR.\n Searching for it via pkg-config")
 | ||
|  | find_package(PkgConfig REQUIRED)
 | ||
|  | pkg_check_modules(portaudio REQUIRED QUIET IMPORTED_TARGET GLOBAL portaudio-2.0)
 | ||
|  | add_library(PortAudio::portaudio ALIAS PkgConfig::portaudio)
 | ||
|  | return()
 | ||
|  | 
 | ||
|  | # include(FindPackageHandleStandardArgs)
 | ||
|  | # find_package_handle_standard_args(Foo
 | ||
|  | #   FOUND_VAR Foo_FOUND
 | ||
|  | #   REQUIRED_VARS
 | ||
|  | #     Foo_LIBRARY
 | ||
|  | #     Foo_INCLUDE_DIR
 | ||
|  | #   VERSION_VAR Foo_VERSION
 | ||
|  | # )
 |