cmake_minimum_required(VERSION 3.10)

set(PROJECT_NAME "pedalsim_engine")
project(${PROJECT_NAME} LANGUAGES CXX)

set(PLUGIN_NAME "pedalsim_engine_plugin")
set(ENGINE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../native")

add_library(${PLUGIN_NAME} SHARED
  "pedalsim_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_link_options(${PLUGIN_NAME} PRIVATE "-Wl,-rpath,\$ORIGIN")

target_include_directories(${PLUGIN_NAME}
  INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include"
  PRIVATE "${ENGINE_DIR}/include")
target_link_libraries(${PLUGIN_NAME} PRIVATE flutter "${ENGINE_DIR}/linux/libpedalsim_engine.so")
target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK)

set(pedalsim_engine_bundled_libraries
  "${ENGINE_DIR}/linux/libpedalsim_engine.so"
  PARENT_SCOPE
)
