set(PLUGIN "taskbar")

set(HEADERS
    ukuitaskbutton.h
    ukuitaskgroup.h
    windowThumbnailModel.h
    windowThumbnailManager.h
    ukuitaskbar.h
    ukuitaskbarplugin.h
    iconTheme.h
    windowThumbnailView.h
    kbadge.h
    )

set(SOURCES
    ukuitaskbutton.cpp
    ukuitaskgroup.cpp
    windowThumbnailModel.cpp
    windowThumbnailManager.cpp
    ukuitaskbar.cpp
    ukuitaskbarplugin.cpp
    iconTheme.cpp
    qml.qrc
    windowThumbnailView.cpp
    kbadge.cpp
)

find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Widgets X11Extras LinguistTools DBus Quick Qml REQUIRED)
find_package(KF5Wayland)
find_package(KF5WindowSystem)
find_package(KF5IconThemes)
find_package(Qt5WaylandClient)
find_package(PlasmaWaylandProtocols 1.6 REQUIRED)
find_package(Qt5Xdg REQUIRED)

find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
include(FindQtWaylandScanner)
add_subdirectory(window-thumbnail)
add_subdirectory(ukui-panel-items)

find_package(PkgConfig REQUIRED)
set(UKUI_TASK_MANAGER_PC_PKGS kysdk-waylandhelper)
foreach(external_lib IN ITEMS ${UKUI_TASK_MANAGER_PC_PKGS})
    pkg_check_modules(${external_lib} REQUIRED IMPORTED_TARGET ${external_lib})
    if(${${external_lib}_FOUND})
        include_directories(${${external_lib}_INCLUDE_DIRS})
        link_directories(${${external_lib}_LIBRARY_DIRS})
        list(APPEND UKUI_TASK_MANAGER_EXTERNAL_LIBS PkgConfig::${external_lib})
    endif()
endforeach()

pkg_check_modules(KDKINFO kysdk-sysinfo)
if (KDKINFO_FOUND)
    ADD_DEFINITIONS(-DKDKINFO_FOUND="true")
    include_directories(${KDKINFO_INCLUDE_DIRS})
    link_directories(${KDKINFO_LIBRARY_DIRS})
    list(APPEND EXTERNAL_LIBS ${KDKINFO_LIBRARIES})
endif()

pkg_check_modules(GIO-UNIX REQUIRED gio-unix-2.0)
if (GIO-UNIX_FOUND)
	include_directories(${GIO-UNIX_INCLUDE_DIRS})
	link_directories(${GIO-UNIX_LIBRARY_DIRS})
endif()

#qt5_add_resources(qrc_FILES qmlItems.qrc)

set(LIBRARIES
    Qt5Xdg
    Qt5X11Extras
    Qt${QT_VERSION_MAJOR}::Core
    Qt${QT_VERSION_MAJOR}::DBus
    Qt${QT_VERSION_MAJOR}::Widgets
    Qt${QT_VERSION_MAJOR}::Quick
    Qt${QT_VERSION_MAJOR}::X11Extras
    Qt${QT_VERSION_MAJOR}::Qml
    ${UKUI_TASK_MANAGER_EXTERNAL_LIBS}
    KF5::WindowSystem
)

#加载翻译文件
file(GLOB TS_FILES "${PROJECT_SOURCE_DIR}/plugin-taskbar/translation/*.ts" )
#更新翻译文件并创建.qm文件
qt5_create_translation(QM_FILES ${PROJECT_SOURCE_DIR}/plugin-taskbar ${TS_FILES})
set(${PLUGIN}_QM_FILES ${QM_FILES})

BUILD_UKUI_PLUGIN(${PLUGIN})
#安装翻译文件
set(TASKBAR_TRANSLATION_DIR "${PACKAGE_DATA_DIR}/plugin-taskbar/translation")
add_compile_definitions(TASKBAR_TRANSLATION_DIR="${TASKBAR_TRANSLATION_DIR}")
install(FILES ${QM_FILES} DESTINATION ${TASKBAR_TRANSLATION_DIR})


#set(SignalForwarding_SRC
#        signalforwarding.cpp
#        waylandhelper.cpp
#        main.cpp
#        windowmanager/abstractinterface.cpp
#        windowmanager/waylandinterface.cpp
#        windowmanager/windowmanager.cpp
#        windowmanager/wmregister.cpp
#        windowmanager/xcbinterface.cpp
#)
#
#set(WINDOW_THUMBNAIL_PLUGIN_PC_PKGS wayland-client)
#foreach(external_lib IN ITEMS ${WINDOW_THUMBNAIL_PLUGIN_PC_PKGS})
#    pkg_check_modules(${external_lib} REQUIRED IMPORTED_TARGET ${external_lib})
#    if(${${external_lib}_FOUND})
#        include_directories(${${external_lib}_INCLUDE_DIRS})
#        link_directories(${${external_lib}_LIBRARY_DIRS})
#        list(APPEND WINDOW_THUMBNAIL_PLUGIN_EXTERNAL_LIBS PkgConfig::${external_lib})
#    endif()
#endforeach()
#
#ecm_add_qtwayland_client_protocol(SignalForwarding_SRC
#        PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-window-management.xml
#        BASENAME plasma-window-management
#)
#
#add_executable(signalforwarding ${SignalForwarding_SRC})
#
#target_link_libraries(signalforwarding PRIVATE
#        Qt5::Core
#        Qt5::Widgets
#        Qt5::DBus
#        KF5::WaylandClient
#        KF5::WindowSystem
#        KF5::IconThemes
#        Qt5::X11Extras
#        ${WINDOW_THUMBNAIL_PLUGIN_EXTERNAL_LIBS})
#
#add_subdirectory(sample)
