X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=1ea5252c6c4194082455ee8839821c6f691bf441;hb=ebd023a3c07aad609d8ee1c0195b0016b300c4e8;hp=365ce751f4ec9b4f82754569a21bcd1905be08d1;hpb=704da88113a15d4eafdeb3e33714531adcd249b0;p=rtaudio.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 365ce75..1ea5252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ include(CheckFunctionExists) 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) @@ -27,7 +28,7 @@ if (CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") endif (CMAKE_COMPILER_IS_GNUCXX) -set(rtaudio_SOURCES RtAudio.cpp) +set(rtaudio_SOURCES RtAudio.cpp rtaudio_c.cpp) set(LINKLIBS) if (CMAKE_SYSTEM_NAME MATCHES "kNetBSD.*|NetBSD.*") @@ -43,7 +44,8 @@ elseif (UNIX AND NOT APPLE) if (AUDIO_LINUX_PULSE) find_library(PULSE_LIB pulse) find_library(PULSESIMPLE_LIB pulse-simple) - list(APPEND LINKLIBS ${PULSE_LIB} ${PULSESIMPLE_LIB}) + find_package(Threads REQUIRED CMAKE_THREAD_PREFER_PTHREAD) + list(APPEND LINKLIBS ${PULSE_LIB} ${PULSESIMPLE_LIB} ${CMAKE_THREAD_LIBS_INIT}) add_definitions(-D__LINUX_PULSE__) message(STATUS "Using Linux PulseAudio") endif (AUDIO_LINUX_PULSE) @@ -53,7 +55,7 @@ elseif (UNIX AND NOT APPLE) if (NOT ALSA_FOUND) message(FATAL_ERROR "ALSA API requested but no ALSA dev libraries found") endif() - add_defines(${ALSA_INCLUDE_DIR}) + include_directories(${ALSA_INCLUDE_DIR}) list(APPEND LINKLIBS ${ALSA_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) add_definitions(-D__LINUX_ALSA__) message(STATUS "Using Linux ALSA") @@ -79,25 +81,29 @@ 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) + 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 @@ -109,6 +115,7 @@ if (WIN32) endif (AUDIO_WINDOWS_ASIO) endif (WIN32) +cmake_policy(SET CMP0042 OLD) add_library(rtaudio SHARED ${rtaudio_SOURCES}) add_library(rtaudio_static STATIC ${rtaudio_SOURCES}) @@ -118,3 +125,17 @@ if (BUILD_TESTING) add_subdirectory(tests) endif (BUILD_TESTING) +configure_file("rtaudio.pc.in" "rtaudio.pc" @ONLY) + +install(TARGETS rtaudio + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) + +install( + FILES RtAudio.h + DESTINATION include) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/rtaudio.pc + DESTINATION lib/pkgconfig)