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 (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)
+# 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})
+