cmake_minimum_required(VERSION 3.16)
project(bass-manage VERSION 1.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)

find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Quick QuickControls2)

qt_add_executable(bass-manage-gui
    src/main.cpp
    src/backend.cpp
    src/backend.h
)

target_compile_definitions(bass-manage-gui PRIVATE
    BASS_MANAGE_SOURCE_DIR="${CMAKE_SOURCE_DIR}"
)

target_link_libraries(bass-manage-gui PRIVATE
    Qt6::Core
    Qt6::Gui
    Qt6::Qml
    Qt6::Quick
    Qt6::QuickControls2
)

include(GNUInstallDirs)
install(TARGETS bass-manage-gui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(DIRECTORY qml icons DESTINATION ${CMAKE_INSTALL_DATADIR}/bass-manage)
install(FILES bass-manage-gui.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
