|
@@ -14,8 +14,91 @@ option(AUDIO_UNIX_JACK "Build Unix JACK audio server API" OFF) |
|
|
option(AUDIO_OSX_CORE "Build Mac OSX CoreAudio API" OFF) |
|
|
option(AUDIO_OSX_CORE "Build Mac OSX CoreAudio API" OFF) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set(rtaudio_SOURCES RtAudio.cpp) |
|
|
|
|
|
|
|
|
|
|
|
set(LINKLIBS) |
|
|
|
|
|
if (CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*") |
|
|
|
|
|
message(STATUS "NetBSD detected, using OSS") |
|
|
|
|
|
find_package(Threads REQUIRED CMAKE_THREAD_PREFER_PTHREAD) |
|
|
|
|
|
list(APPEND LINKLIBS ossaudio ${CMAKE_THREAD_LIBS_INIT}) |
|
|
|
|
|
set(AUDIO_LINUX_OSS ON) |
|
|
|
|
|
elseif (UNIX AND NOT APPLE) |
|
|
|
|
|
if (NOT AUDIO_LINUX_PULSE AND NOT AUDIO_LINUX_ALSA AND NOT AUDIO_LINUX_OSS AND NOT AUDIO_UNIX_JACK) |
|
|
|
|
|
set(AUDIO_LINUX_ALSA ON) |
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
if (AUDIO_LINUX_PULSE) |
|
|
|
|
|
find_library(PULSE_LIB pulse) |
|
|
|
|
|
find_library(PULSESIMPLE_LIB pulse-simple) |
|
|
|
|
|
list(APPEND LINKLIBS ${PULSE_LIB} ${PULSESIMPLE_LIB}) |
|
|
|
|
|
add_definitions(-D__LINUX_PULSE__) |
|
|
|
|
|
message(STATUS "Using Linux PulseAudio") |
|
|
|
|
|
endif (AUDIO_LINUX_PULSE) |
|
|
|
|
|
if (AUDIO_LINUX_ALSA) |
|
|
|
|
|
find_package(ALSA) |
|
|
|
|
|
find_package(Threads REQUIRED CMAKE_THREAD_PREFER_PTHREAD) |
|
|
|
|
|
if (NOT ALSA_FOUND) |
|
|
|
|
|
message(FATAL_ERROR "ALSA API requested but no ALSA dev libraries found") |
|
|
|
|
|
endif() |
|
|
|
|
|
add_defines(${ALSA_INCLUDE_DIR}) |
|
|
|
|
|
list(APPEND LINKLIBS ${ALSA_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) |
|
|
|
|
|
add_definitions(-D__LINUX_ALSA__) |
|
|
|
|
|
message(STATUS "Using Linux ALSA") |
|
|
|
|
|
endif (AUDIO_LINUX_ALSA) |
|
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
if (APPLE) |
|
|
if (APPLE) |
|
|
|
|
|
if (NOT AUDIO_OSX_CORE AND NOT AUDIO_UNIX_JACK) |
|
|
|
|
|
set(AUDIO_OSX_CORE ON) |
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
if (AUDIO_OSX_CORE) |
|
|
|
|
|
find_library(COREAUDIO_LIB CoreAudio) |
|
|
|
|
|
find_library(COREFOUNDATION_LIB CoreFoundation) |
|
|
|
|
|
list(APPEND LINKLIBS ${COREAUDIO_LIB} ${COREFOUNDATION_LIB}) |
|
|
|
|
|
add_definitions(-D__MACOSX_CORE__) |
|
|
|
|
|
message(STATUS "Using OSX CoreAudio") |
|
|
|
|
|
endif (AUDIO_OSX_CORE) |
|
|
endif (APPLE) |
|
|
endif (APPLE) |
|
|
|
|
|
|
|
|
|
|
|
# JACK supported on many Unices |
|
|
|
|
|
if (UNIX) |
|
|
|
|
|
if (AUDIO_UNIX_JACK) |
|
|
|
|
|
find_library(JACK_LIB jack) |
|
|
|
|
|
list(APPEND LINKLIBS ${JACK_LIB}) |
|
|
|
|
|
# jack_client_open |
|
|
|
|
|
# AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(Jack support also requires the asound library!))], ) |
|
|
|
|
|
add_definitions(-D__UNIX_JACK__) |
|
|
|
|
|
message(STATUS "Using JACK") |
|
|
|
|
|
endif (AUDIO_UNIX_JACK) |
|
|
|
|
|
endif (UNIX) |
|
|
|
|
|
|
|
|
|
|
|
if (WIN32) |
|
|
|
|
|
if (NOT AUDIO_WINDOWS_DS AND NOT AUDIO_WINDOWS_ASIO) |
|
|
|
|
|
set(AUDIO_WINDOWS_DS ON) |
|
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
|
|
include_directories(include) |
|
|
|
|
|
list(APPEND LINKLIBS dsound winmm ole32) |
|
|
|
|
|
|
|
|
|
|
|
if (AUDIO_WINDOWS_DS) |
|
|
|
|
|
add_definitions(-D__WINDOWS_DS__) |
|
|
|
|
|
message(STATUS "Using Windows DirectSound") |
|
|
|
|
|
endif (AUDIO_WINDOWS_DS) |
|
|
|
|
|
if (AUDIO_WINDOWS_ASIO) |
|
|
|
|
|
list(APPEND rtaudio_SOURCES |
|
|
|
|
|
include/asio.cpp |
|
|
|
|
|
include/asiodrivers.cpp |
|
|
|
|
|
include/asiolist.cpp |
|
|
|
|
|
include/iasiothiscallresolver.cpp) |
|
|
|
|
|
add_definitions(-D__WINDOWS_ASIO__) |
|
|
|
|
|
message(STATUS "Using Windows ASIO") |
|
|
|
|
|
endif (AUDIO_WINDOWS_ASIO) |
|
|
|
|
|
endif (WIN32) |
|
|
|
|
|
|
|
|
|
|
|
add_library(rtaudio SHARED ${rtaudio_SOURCES}) |
|
|
|
|
|
add_library(rtaudio_static STATIC ${rtaudio_SOURCES}) |
|
|
|
|
|
|
|
|
|
|
|
target_link_libraries(rtaudio ${LINKLIBS}) |
|
|
|
|
|
|
|
|
|
|
|
|