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()
|