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

set(PLUGIN_NAME "${PROJECT_NAME}_plugin")

# OpenAL Soft & libsndfile (for decoding) — must be installed on the system.
find_package(OpenAL REQUIRED)

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

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_include_directories(${PLUGIN_NAME} PRIVATE ${OPENAL_INCLUDE_DIR})

target_link_libraries(${PLUGIN_NAME} PRIVATE
  flutter
  PkgConfig::GTK
  ${OPENAL_LIBRARY}
  sndfile       # libsndfile for audio decoding
)

set(just_audio_engine_bundled_libraries "" PARENT_SCOPE)
