diff options
author | Jörg Müller <nexyon@gmail.com> | 2021-03-11 21:22:56 +0300 |
---|---|---|
committer | Jörg Müller <nexyon@gmail.com> | 2021-03-17 01:21:45 +0300 |
commit | bc5798530663a9b3fec8df60feba510bd681c5ad (patch) | |
tree | 0d2587f7d3c5f9ac55d6bcee8f91afce9cf9d50b /extern/audaspace/CMakeLists.txt | |
parent | d33339ebf44855b62200a2784c046792d78c75bc (diff) |
Audaspace: add support for WASAPI on Windows
This adds WASAPI as audio backend on Windows.
WASAPI is the modern standard audio API on
Windows introduced with Windows Vista.
Ref T86590
Diffstat (limited to 'extern/audaspace/CMakeLists.txt')
-rw-r--r-- | extern/audaspace/CMakeLists.txt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extern/audaspace/CMakeLists.txt b/extern/audaspace/CMakeLists.txt index 92b1cbcb290..dc851961d47 100644 --- a/extern/audaspace/CMakeLists.txt +++ b/extern/audaspace/CMakeLists.txt @@ -288,6 +288,9 @@ if(AUDASPACE_STANDALONE) if(NOT WIN32 AND NOT APPLE) option(WITH_PULSEAUDIO "Build With PulseAudio" TRUE) endif() + if(WIN32) + option(WITH_WASAPI "Build With WASAPI" TRUE) + endif() if(WITH_STRICT_DEPENDENCIES) set(PACKAGE_OPTION REQUIRED) @@ -312,6 +315,7 @@ if(AUDASPACE_STANDALONE) cmake_dependent_option(PLUGIN_OPENAL "Build OpenAL Plugin" TRUE "WITH_OPENAL;SHARED_LIBRARY" FALSE) cmake_dependent_option(PLUGIN_PULSEAUDIO "Build PulseAudio Plugin" TRUE "WITH_PULSEAUDIO;SHARED_LIBRARY" FALSE) cmake_dependent_option(PLUGIN_SDL "Build SDL Plugin" TRUE "WITH_SDL;SHARED_LIBRARY" FALSE) + cmake_dependent_option(PLUGIN_WASAPI "Build WASAPI Plugin" TRUE "WITH_WASAPI;SHARED_LIBRARY" FALSE) cmake_dependent_option(WITH_PYTHON_MODULE "Build Python Module" TRUE "WITH_PYTHON" FALSE) cmake_dependent_option(USE_SDL2 "Use SDL2 instead of 1 if available" TRUE "WITH_SDL" FALSE) cmake_dependent_option(DYNLOAD_JACK "Dynamically load JACK" FALSE "WITH_JACK" FALSE) @@ -714,6 +718,23 @@ if(WITH_SDL) endif() endif() +# WASAPI +if(WITH_WASAPI) + set(WASAPI_SRC + plugins/wasapi/WASAPIDevice.cpp + ) + set(WASAPI_HDR + plugins/wasapi/WASAPIDevice.h + ) + + if(NOT PLUGIN_WASAPI) + list(APPEND LIBRARIES ksuser) + list(APPEND SRC ${WASAPI_SRC}) + list(APPEND HDR ${WASAPI_HDR}) + list(APPEND STATIC_PLUGINS WASAPIDevice) + endif() +endif() + # library configuration if(SHARED_LIBRARY) @@ -861,6 +882,17 @@ if(WITH_SDL AND PLUGIN_SDL) install(TARGETS audsdl DESTINATION ${DEFAULT_PLUGIN_PATH}) endif() +if(WITH_WASAPI AND PLUGIN_WASAPI) + add_definitions(-DWASAPI_PLUGIN) + include_directories(${INCLUDE}) + add_library(audwasapi SHARED ${WASAPI_SRC} ${WASAPI_HDR} ${HDR}) + if(WITH_VERSIONED_PLUGINS) + set_target_properties(audwasapi PROPERTIES SOVERSION ${AUDASPACE_VERSION}) + endif() + target_link_libraries(audwasapi audaspace ksuser) + install(TARGETS audwasapi DESTINATION ${DEFAULT_PLUGIN_PATH}) +endif() + # dlls if(WIN32) |