cmake_minimum_required(VERSION 3.16)

project(llink VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS
        Core
        Gui
        Widgets
        SvgWidgets
)

qt_standard_project_setup(REQUIRES 6.8)

qt_add_executable(llink
        main.cpp
        src/MainWindow.cpp
        src/MainWindow.h
)

qt_add_resources(llink
        PREFIX_PATH "/"
        FILES
        assets/icons/mono/basic/menu-rec.svg
        assets/icons/mono/basic/plus.svg
)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(llink PROPERTIES
        #    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.llink
        MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
        MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
        MACOSX_BUNDLE TRUE
        WIN32_EXECUTABLE TRUE
)

target_link_libraries(llink
        PRIVATE
        Qt6::Core
        Qt6::Gui
        Qt6::Widgets
        Qt6::SvgWidgets
)

include(GNUInstallDirs)
install(TARGETS llink
        BUNDLE DESTINATION .
        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

qt_generate_deploy_app_script(
        TARGET llink
        OUTPUT_SCRIPT deploy_script
        NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})