cmake_minimum_required(VERSION 3.14)
set(PROJECT_NAME "just_audio_engine")
project(${PROJECT_NAME} LANGUAGES CXX)

cmake_policy(VERSION 3.14...3.25)

set(PLUGIN_NAME "${PROJECT_NAME}_plugin")

add_library(${PLUGIN_NAME} SHARED
  "just_audio_engine_plugin.cpp"
)

apply_standard_settings(${PLUGIN_NAME})
set_target_properties(${PLUGIN_NAME} PROPERTIES CXX_VISIBILITY_PRESET hidden)
target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL)

target_include_directories(${PLUGIN_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include")

target_link_libraries(${PLUGIN_NAME} PRIVATE
  flutter
  flutter_wrapper_plugin
  # XAudio2 / X3DAudio / WASAPI
  xaudio2
  ole32
  # Media Foundation (decoding)
  mf
  mfplat
  mfreadwrite
  mfuuid
  propsys
)

set(just_audio_engine_bundled_libraries ""  PARENT_SCOPE)
