cmake_minimum_required(VERSION 3.16)

project(twilight-global-theme
    VERSION 0.1.0
    LANGUAGES CXX
)

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

find_package(ECM 5.68.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})

# Match standalone plasmoid projects: Qt QML paths align with qmake QT_INSTALL_QML when prefix matches Qt.
set(KDE_INSTALL_USE_QT_SYS_PATHS ON)

include(KDEInstallDirs)
include(GNUInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cmake/ProjectPaths.cmake")
    include(cmake/ProjectPaths.cmake)
endif()

find_package(Qt5 5.15 CONFIG REQUIRED COMPONENTS Core Gui Quick Qml Widgets)
find_package(KF5 5.68 REQUIRED COMPONENTS
    CoreAddons
    I18n
    ItemModels
    KIO
    Plasma
)

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/look-and-feel")
    install(DIRECTORY look-and-feel/
        DESTINATION ${KDE_INSTALL_DATADIR}/plasma/look-and-feel
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/desktoptheme")
    install(DIRECTORY desktoptheme/
        DESTINATION ${KDE_INSTALL_DATADIR}/plasma/desktoptheme
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/wallpapers")
    install(DIRECTORY wallpapers/
        DESTINATION ${KDE_INSTALL_DATADIR}/wallpapers
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/icons")
    install(DIRECTORY icons/
        DESTINATION ${KDE_INSTALL_DATADIR}/icons
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cursors")
    install(DIRECTORY cursors/
        DESTINATION ${KDE_INSTALL_DATADIR}/icons
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/color-schemes")
    install(DIRECTORY color-schemes/
        DESTINATION ${KDE_INSTALL_DATADIR}/color-schemes
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/aurorae")
    install(DIRECTORY aurorae/
        DESTINATION ${KDE_INSTALL_DATADIR}/aurorae/themes
        PATTERN "CMakeLists.txt" EXCLUDE
        PATTERN ".gitkeep" EXCLUDE
    )
endif()

if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plasmoids/CMakeLists.txt")
    add_subdirectory(plasmoids)
endif()
