cmake_minimum_required(VERSION 3.16)

project(MediaPlayer LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(Qt6 6.8 REQUIRED COMPONENTS Core Quick QuickControls2 Svg Multimedia)

qt_standard_project_setup(REQUIRES 6.8)

qt_add_executable(MediaPlayerApp
    main.cpp
    filenameprovider.h
)

qt_add_qml_module(MediaPlayerApp
    URI "io.qt.filenameprovider"
    VERSION 1.0
)

qt_add_ios_ffmpeg_libraries(MediaPlayerApp)

add_subdirectory(Config)
add_subdirectory(MediaControls)
add_subdirectory(MediaPlayer)

target_link_libraries(MediaPlayerApp PRIVATE
    Qt6::Core
    Qt6::Svg
    Qt6::Quick
    Qt6::Multimedia
    MediaControlsplugin
    MediaPlayerplugin
    Configplugin
)

install(TARGETS MediaPlayerApp
    BUNDLE  DESTINATION .
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)

qt_generate_deploy_qml_app_script(
    TARGET MediaPlayerApp
    OUTPUT_SCRIPT deploy_script
    MACOS_BUNDLE_POST_BUILD
    NO_UNSUPPORTED_PLATFORM_ERROR
    DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM
)
install(SCRIPT ${deploy_script})
