cmake_minimum_required(VERSION 3.5.0)
project(playback_lab)

set(REPO_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../")
set(MPV_INCLUDE_DIR "${REPO_ROOT}/build/ohos-arm64/prefix/include")
set(MPV_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/arm64-v8a/libmpv.so.2")

if(NOT EXISTS "${MPV_LIBRARY}")
    message(FATAL_ERROR "Missing ${MPV_LIBRARY}; run scripts/stage-mpv.sh first")
endif()

include_directories(${MPV_INCLUDE_DIR})
include_directories(${REPO_ROOT})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})

add_library(mpv SHARED IMPORTED)
set_target_properties(mpv PROPERTIES IMPORTED_LOCATION "${MPV_LIBRARY}")

add_library(entry SHARED
    bridge.cpp
    player.cpp
    render.cpp
)

target_compile_features(entry PRIVATE cxx_std_17)
target_compile_options(entry PRIVATE -fvisibility=hidden -Wall -Wextra -Werror=return-type)
target_link_libraries(entry PUBLIC
    mpv
    libace_napi.z.so
    libace_ndk.z.so
    libEGL.so
    libGLESv3.so
    libnative_window.so
    libhilog_ndk.z.so
)
