diff options
Diffstat (limited to '3rdparty/portaudio/cmake/modules/FindOSS.cmake')
-rw-r--r-- | 3rdparty/portaudio/cmake/modules/FindOSS.cmake | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/3rdparty/portaudio/cmake/modules/FindOSS.cmake b/3rdparty/portaudio/cmake/modules/FindOSS.cmake new file mode 100644 index 00000000000..eec7dc33789 --- /dev/null +++ b/3rdparty/portaudio/cmake/modules/FindOSS.cmake @@ -0,0 +1,57 @@ +#[=======================================================================[.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() |