option(BUILD_PYTHON "Build PyRtAudio python bindings" OFF)
option(AUDIO_WINDOWS_DS "Build Windows DirectSound API" OFF)
option(AUDIO_WINDOWS_ASIO "Build Windows ASIO API" OFF)
+option(AUDIO_WINDOWS_WASAPI "Build Windows WASAPI API" OFF)
option(AUDIO_LINUX_OSS "Build Linux OSS API" OFF)
option(AUDIO_LINUX_ALSA "Build Linux ALSA API" OFF)
option(AUDIO_LINUX_PULSE "Build Linux PulseAudio API" OFF)
option(AUDIO_UNIX_JACK "Build Unix JACK audio server API" OFF)
option(AUDIO_OSX_CORE "Build Mac OSX CoreAudio API" OFF)
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ add_definitions(-D__RTAUDIO_DEBUG__)
+endif ()
+
+check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
+
+if (HAVE_GETTIMEOFDAY)
+ add_definitions(-DHAVE_GETTIMEOFDAY)
+endif ()
+
+if (CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+endif (CMAKE_COMPILER_IS_GNUCXX)
set(rtaudio_SOURCES RtAudio.cpp)
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")
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)
+ if (NOT AUDIO_WINDOWS_DS AND NOT AUDIO_WINDOWS_ASIO AND NOT AUDIO_WINDOWS_WASAPI)
+ set(AUDIO_WINDOWS_WASAPI ON)
endif()
include_directories(include)
- list(APPEND LINKLIBS dsound winmm ole32)
+ list(APPEND LINKLIBS winmm ole32)
if (AUDIO_WINDOWS_DS)
add_definitions(-D__WINDOWS_DS__)
message(STATUS "Using Windows DirectSound")
+ list(APPEND LINKLIBS dsound)
endif (AUDIO_WINDOWS_DS)
+ if (AUDIO_WINDOWS_WASAPI)
+ add_definitions(-D__WINDOWS_WASAPI__)
+ message(STATUS "Using Windows WASAPI")
+ list(APPEND LINKLIBS uuid ksuser)
+ endif (AUDIO_WINDOWS_WASAPI)
if (AUDIO_WINDOWS_ASIO)
list(APPEND rtaudio_SOURCES
include/asio.cpp
endif (AUDIO_WINDOWS_ASIO)
endif (WIN32)
+cmake_policy(SET CMP0042 OLD)
add_library(rtaudio SHARED ${rtaudio_SOURCES})
add_library(rtaudio_static STATIC ${rtaudio_SOURCES})
target_link_libraries(rtaudio ${LINKLIBS})
+if (BUILD_TESTING)
+ add_subdirectory(tests)
+endif (BUILD_TESTING)