summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/portaudio/cmake/modules/FindOSS.cmake
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/portaudio/cmake/modules/FindOSS.cmake')
-rw-r--r--3rdparty/portaudio/cmake/modules/FindOSS.cmake57
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()