add_library(mltrtaudio MODULE consumer_rtaudio.cpp)
target_link_libraries(mltrtaudio mlt Threads::Threads)

if(TARGET PkgConfig::rtaudio)
  target_link_libraries(mltrtaudio PkgConfig::rtaudio)
else()
  target_sources(mltrtaudio PRIVATE RtAudio.cpp)
  if(APPLE)
    target_link_libraries(mltrtaudio CoreAudio CoreFoundation)
    target_compile_definitions(mltrtaudio PRIVATE __MACOSX_CORE__)
  elseif(WIN32)
    target_link_libraries(mltrtaudio ole32 dsound winmm ksuser)
    target_compile_definitions(mltrtaudio PRIVATE __WINDOWS_DS__ __WINDOWS_WASAPI__)
  else()
    if(TARGET PkgConfig::alsa)
      target_link_libraries(mltrtaudio PkgConfig::alsa)
      target_compile_definitions(mltrtaudio PRIVATE __LINUX_ALSA__)
    endif()
    if(TARGET PkgConfig::libpulse-simple)
      target_link_libraries(mltrtaudio PkgConfig::libpulse-simple)
      target_compile_definitions(mltrtaudio PRIVATE __LINUX_PULSE__)
    endif()
    if(NOT (TARGET PkgConfig::alsa OR TARGET PkgConfig::libpulse-simple))
      target_link_libraries(mltrtaudio ossaudio)
      target_compile_definitions(mltrtaudio PRIVATE __LINUX_OSS__)
    endif()
  endif()
endif()

# Create module in parent directory, for the benefit of "source setenv".
set_target_properties(mltrtaudio PROPERTIES LIBRARY_OUTPUT_DIRECTORY ..)

install(TARGETS mltrtaudio LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/mlt)

install(FILES consumer_rtaudio.yml DESTINATION ${CMAKE_INSTALL_DATADIR}/mlt/rtaudio)
