58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
|   | #[=======================================================================[.rst:
 | ||
|  | FindOSS
 | ||
|  | --------
 | ||
|  | 
 | ||
|  | Finds the Open Sound System include directory. There is no library to link.
 | ||
|  | 
 | ||
|  | Imported Targets
 | ||
|  | ^^^^^^^^^^^^^^^^
 | ||
|  | 
 | ||
|  | This module provides the following imported targets, if found:
 | ||
|  | 
 | ||
|  | ``OSS::oss``
 | ||
|  |   Target for the OSS header include directory. One of the following
 | ||
|  |   compile definitions is added to the target:
 | ||
|  |   HAVE_SYS_SOUNDCARD_H if the header is sys/soundcard.h
 | ||
|  |   HAVE_LINUX_SOUNDCARD_H if the header is linux/soundcard.h
 | ||
|  |   HAVE_MACHINE_SOUNDCARD_H if the header is machine/soundcard.h
 | ||
|  | 
 | ||
|  | #]=======================================================================]
 | ||
|  | 
 | ||
|  | find_path(OSS_INCLUDE_DIR | ||
|  |   NAMES sys/soundcard.h
 | ||
|  |   DOC "OSS include directory")
 | ||
|  | if(OSS_INCLUDE_DIR)
 | ||
|  |   set(OSS_DEFINITIONS HAVE_SYS_SOUNDCARD_H)
 | ||
|  | else()
 | ||
|  |   find_path(OSS_INCLUDE_DIR | ||
|  |     NAMES linux/soundcard.h
 | ||
|  |     DOC "OSS include directory")
 | ||
|  |   if(OSS_INCLUDE_DIR)
 | ||
|  |     set(OSS_DEFINITIONS HAVE_LINUX_SOUNDCARD_H)
 | ||
|  |   else()
 | ||
|  |     find_path(OSS_INCLUDE_DIR | ||
|  |       NAMES machine/soundcard.h
 | ||
|  |       DOC "OSS include directory")
 | ||
|  |     if(OSS_INCLUDE_DIR)
 | ||
|  |       set(OSS_DEFINITIONS HAVE_MACHINE_SOUNDCARD_H)
 | ||
|  |     endif()
 | ||
|  |   endif()
 | ||
|  | endif()
 | ||
|  | 
 | ||
|  | include(FindPackageHandleStandardArgs)
 | ||
|  | find_package_handle_standard_args( | ||
|  |   OSS
 | ||
|  |   DEFAULT_MSG
 | ||
|  |   OSS_INCLUDE_DIR
 | ||
|  |   OSS_DEFINITIONS
 | ||
|  | )
 | ||
|  | 
 | ||
|  | if(OSS_INCLUDE_DIR AND OSS_DEFINITIONS)
 | ||
|  |   set(OSS_FOUND TRUE)
 | ||
|  |   if(NOT TARGET OSS::oss)
 | ||
|  |     add_library(OSS::oss INTERFACE IMPORTED)
 | ||
|  |     target_include_directories(OSS::oss INTERFACE "${OSS_INCLUDE_DIR}")
 | ||
|  |     target_compile_definitions(OSS::oss INTERFACE "${OSS_DEFINITIONS}")
 | ||
|  |   endif()
 | ||
|  | endif()
 |