2017-02-04 23:18:59 +00:00
|
|
|
set(SRCS
|
|
|
|
AudioCommon.cpp
|
2017-04-24 02:08:33 +00:00
|
|
|
AudioStretcher.cpp
|
2017-03-22 23:09:59 +00:00
|
|
|
CubebStream.cpp
|
2017-04-24 06:55:37 +00:00
|
|
|
CubebUtils.cpp
|
2017-02-04 23:18:59 +00:00
|
|
|
DPL2Decoder.cpp
|
|
|
|
Mixer.cpp
|
|
|
|
WaveFile.cpp
|
|
|
|
NullSoundStream.cpp
|
|
|
|
)
|
2010-11-01 15:47:02 +00:00
|
|
|
|
2017-02-04 23:33:53 +00:00
|
|
|
add_dolphin_library(audiocommon "${SRCS}" "")
|
2010-11-01 15:47:02 +00:00
|
|
|
|
2017-02-03 23:55:29 +00:00
|
|
|
find_package(OpenSLES)
|
2016-02-05 16:54:59 +00:00
|
|
|
if(OPENSLES_FOUND)
|
2017-02-04 23:18:59 +00:00
|
|
|
message(STATUS "OpenSLES found, enabling OpenSLES sound backend")
|
2017-02-04 23:33:53 +00:00
|
|
|
target_sources(audiocommon PRIVATE OpenSLESStream.cpp)
|
|
|
|
target_link_libraries(audiocommon PRIVATE OpenSLES::OpenSLES)
|
2017-01-25 05:25:52 +00:00
|
|
|
endif()
|
2013-02-26 19:49:00 +00:00
|
|
|
|
2017-02-05 01:44:03 +00:00
|
|
|
if(ENABLE_ALSA)
|
|
|
|
find_package(ALSA)
|
|
|
|
if(ALSA_FOUND)
|
|
|
|
message(STATUS "ALSA found, enabling ALSA sound backend")
|
|
|
|
target_sources(audiocommon PRIVATE AlsaSoundStream.cpp)
|
|
|
|
target_link_libraries(audiocommon PRIVATE ALSA::ALSA)
|
|
|
|
target_compile_definitions(audiocommon PRIVATE HAVE_ALSA=1)
|
|
|
|
else()
|
|
|
|
message(STATUS "ALSA NOT found, disabling ALSA sound backend")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
message(STATUS "ALSA explicitly disabled, disabling ALSA sound backend")
|
2017-01-25 05:25:52 +00:00
|
|
|
endif()
|
2011-12-05 04:49:08 +00:00
|
|
|
|
2017-02-05 23:28:11 +00:00
|
|
|
if(ENABLE_OPENAL)
|
|
|
|
if(WIN32)
|
|
|
|
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/Externals/OpenAL)
|
|
|
|
endif()
|
|
|
|
find_package(OpenAL)
|
|
|
|
if(OPENAL_FOUND)
|
|
|
|
message(STATUS "OpenAL found, enabling OpenAL sound backend")
|
|
|
|
target_sources(audiocommon PRIVATE OpenALStream.cpp aldlist.cpp)
|
2017-04-10 16:44:17 +00:00
|
|
|
target_link_libraries(audiocommon PRIVATE OpenAL::OpenAL)
|
2017-02-05 23:28:11 +00:00
|
|
|
target_compile_definitions(audiocommon PRIVATE HAVE_OPENAL=1)
|
|
|
|
else()
|
|
|
|
message(STATUS "OpenAL NOT found, disabling OpenAL sound backend")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
message(STATUS "OpenAL explicitly disabled, disabling OpenAL sound backend")
|
2017-01-25 05:25:52 +00:00
|
|
|
endif()
|
2011-12-05 04:49:08 +00:00
|
|
|
|
2017-02-07 22:28:01 +00:00
|
|
|
if(ENABLE_PULSEAUDIO)
|
|
|
|
# PulseAudio ships with a PulseAudioConfig.cmake with no imported target
|
|
|
|
# So we use our own FindPulseAudio instead with "MODULE"
|
|
|
|
find_package(PulseAudio MODULE QUIET)
|
|
|
|
if(PULSEAUDIO_FOUND)
|
|
|
|
message(STATUS "PulseAudio found, enabling PulseAudio sound backend")
|
|
|
|
target_sources(audiocommon PRIVATE PulseAudioStream.cpp)
|
|
|
|
target_link_libraries(audiocommon PRIVATE PulseAudio::PulseAudio)
|
|
|
|
target_compile_definitions(audiocommon PRIVATE HAVE_PULSEAUDIO=1)
|
|
|
|
else()
|
|
|
|
message(STATUS "PulseAudio NOT found, disabling PulseAudio sound backend")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
message(STATUS "PulseAudio explicitly disabled, disabling PulseAudio sound backend")
|
2017-01-25 05:25:52 +00:00
|
|
|
endif()
|
2011-12-05 04:49:08 +00:00
|
|
|
|
|
|
|
if(WIN32)
|
2017-02-04 23:33:53 +00:00
|
|
|
target_sources(audiocommon PRIVATE XAudio2Stream.cpp)
|
2017-01-20 21:56:15 +00:00
|
|
|
|
2017-02-04 23:18:59 +00:00
|
|
|
add_dolphin_library(audiocommon_xaudio27 "XAudio2_7Stream.cpp" "${LIBS}")
|
|
|
|
target_include_directories(audiocommon_xaudio27 PRIVATE
|
|
|
|
${PROJECT_SOURCE_DIR}/Externals
|
|
|
|
${PROJECT_SOURCE_DIR}/Externals/XAudio2_7
|
|
|
|
)
|
2017-02-04 23:33:53 +00:00
|
|
|
target_link_libraries(audiocommon PRIVATE audiocommon_xaudio27)
|
2017-01-20 21:56:15 +00:00
|
|
|
|
2015-01-03 12:17:57 +00:00
|
|
|
elseif(APPLE)
|
2017-02-04 23:33:53 +00:00
|
|
|
target_sources(audiocommon PRIVATE CoreAudioSoundStream.cpp)
|
2010-11-01 15:47:02 +00:00
|
|
|
endif()
|
|
|
|
|
2017-03-22 23:09:59 +00:00
|
|
|
target_link_libraries(audiocommon PRIVATE cubeb SoundTouch)
|