CMakeLists.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. add_library(audiocommon
  2. AudioCommon.cpp
  3. AudioCommon.h
  4. AudioStretcher.cpp
  5. AudioStretcher.h
  6. CubebStream.cpp
  7. CubebStream.h
  8. CubebUtils.cpp
  9. CubebUtils.h
  10. Enums.h
  11. Mixer.cpp
  12. Mixer.h
  13. SurroundDecoder.cpp
  14. SurroundDecoder.h
  15. NullSoundStream.cpp
  16. NullSoundStream.h
  17. WaveFile.cpp
  18. WaveFile.h
  19. )
  20. if(ANDROID)
  21. find_package(OpenSLES)
  22. if(OPENSLES_FOUND)
  23. message(STATUS "OpenSLES found, enabling OpenSLES sound backend")
  24. target_sources(audiocommon PRIVATE
  25. OpenSLESStream.cpp
  26. OpenSLESStream.h
  27. )
  28. target_link_libraries(audiocommon PRIVATE OpenSLES::OpenSLES)
  29. target_compile_definitions(audiocommon PRIVATE HAVE_OPENSL_ES=1)
  30. endif()
  31. endif()
  32. if(ENABLE_ALSA)
  33. find_package(ALSA)
  34. if(ALSA_FOUND)
  35. message(STATUS "ALSA found, enabling ALSA sound backend")
  36. target_sources(audiocommon PRIVATE
  37. AlsaSoundStream.cpp
  38. AlsaSoundStream.h
  39. )
  40. target_link_libraries(audiocommon PRIVATE ALSA::ALSA)
  41. target_compile_definitions(audiocommon PRIVATE HAVE_ALSA=1)
  42. else()
  43. message(STATUS "ALSA NOT found, disabling ALSA sound backend")
  44. endif()
  45. else()
  46. message(STATUS "ALSA explicitly disabled, disabling ALSA sound backend")
  47. endif()
  48. if(ENABLE_PULSEAUDIO)
  49. # PulseAudio ships with a PulseAudioConfig.cmake with no imported target
  50. # So we use our own FindPulseAudio instead with "MODULE"
  51. find_package(PulseAudio MODULE QUIET)
  52. if(PulseAudio_FOUND)
  53. message(STATUS "PulseAudio found, enabling PulseAudio sound backend")
  54. target_sources(audiocommon PRIVATE
  55. PulseAudioStream.cpp
  56. PulseAudioStream.h
  57. )
  58. target_link_libraries(audiocommon PRIVATE PulseAudio::PulseAudio)
  59. target_compile_definitions(audiocommon PRIVATE HAVE_PULSEAUDIO=1)
  60. else()
  61. message(STATUS "PulseAudio NOT found, disabling PulseAudio sound backend")
  62. endif()
  63. else()
  64. message(STATUS "PulseAudio explicitly disabled, disabling PulseAudio sound backend")
  65. endif()
  66. if(WIN32)
  67. target_sources(audiocommon PRIVATE
  68. # Dolphin loads openal32.dll at runtime
  69. OpenALStream.cpp
  70. OpenALStream.h
  71. WASAPIStream.cpp
  72. WASAPIStream.h
  73. )
  74. endif()
  75. target_link_libraries(audiocommon
  76. PUBLIC
  77. common
  78. PRIVATE
  79. cubeb::cubeb
  80. SoundTouch
  81. FreeSurround)
  82. if(MSVC)
  83. # Add precompiled header
  84. target_link_libraries(audiocommon PRIVATE use_pch)
  85. endif()