cmake_minimum_required(VERSION 3.20)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)

find_package(Qt6 6.6 REQUIRED COMPONENTS Gui Widgets Network Concurrent)

add_executable(glasstop-settings
    src/main.cc
    src/settings_dialog.cc
    src/settings_dialog.h
    src/widget_settings_panel.cc
    src/widget_settings_panel.h
    src/ascii_preview_widget.cc
    src/ascii_preview_widget.h
    src/ascii_translated_preview_widget.cc
    src/ascii_translated_preview_widget.h
    src/display_arrangement.cc
    src/display_arrangement.h
    src/wallpaper_library.cc
    src/wallpaper_library.h
    src/wallpaper_gallery.cc
    src/wallpaper_gallery.h
)

target_include_directories(glasstop-settings PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/src
    ${CMAKE_CURRENT_SOURCE_DIR}/../src
)

target_link_libraries(glasstop-settings PRIVATE
    glasstop_common
    Qt6::Gui
    Qt6::Widgets
    Qt6::Network
    Qt6::Concurrent
)

install(TARGETS glasstop-settings RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES glasstop-settings.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
