set(CMAKE_AUTOMOC on)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets Test DBus Qml Widgets Quick REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets Test DBus Qml Widgets Quick REQUIRED)

if (QT_VERSION_MAJOR EQUAL 5)
    find_package(Qt5Xdg REQUIRED)
elseif(QT_VERSION_MAJOR EQUAL 6)
    find_package(Qt6Xdg REQUIRED)
endif()

include_directories(../)

add_executable(recentFileTest
    ../recent-file-extension.cpp
    ../event-track.cpp
    recent-file-test.cpp)

add_executable(eventTrackTest
    ../event-track.cpp
    event-track-test.cpp)

target_link_options(eventTrackTest PRIVATE
        -Wl,--wrap=kdk_dia_data_init
        -Wl,--wrap=kdk_dia_upload_default
        -Wl,--wrap=kdk_dia_upload_search_content
        -Wl,--wrap=kdk_dia_data_free)

find_package(ukui-menu REQUIRED)

find_package(PkgConfig REQUIRED)
set(EXTERNAL_LIBS "")
set(PC_PKGS glib-2.0 gio-unix-2.0 kysdk-datacollect kysdk-systime)

foreach(lib IN ITEMS ${PC_PKGS})
    pkg_check_modules(${lib} REQUIRED ${lib})
    if(${${lib}_FOUND})
        include_directories(${${lib}_INCLUDE_DIRS})
        link_directories(${${lib}_LIBRARY_DIRS})
        list(APPEND EXTERNAL_LIBS ${${lib}_LIBRARIES})
    endif()
endforeach()

target_link_libraries(recentFileTest
        PRIVATE
        Qt${QT_VERSION_MAJOR}::Core
        Qt${QT_VERSION_MAJOR}::Quick
        Qt${QT_MAJOR_VERSION}::Gui
        Qt${QT_VERSION_MAJOR}::Widgets
        Qt${QT_VERSION_MAJOR}::Test
        Qt${QT_VERSION_MAJOR}::DBus
        Qt${QT_VERSION_MAJOR}Xdg
        ${EXTERNAL_LIBS}
        ukui-menu
)

target_link_libraries(eventTrackTest
        PRIVATE
        Qt${QT_VERSION_MAJOR}::Core
        Qt${QT_VERSION_MAJOR}::Test
        ${EXTERNAL_LIBS}
)

add_test(NAME recentFileTest COMMAND ${CMAKE_CURRENT_BINARY_DIR}/recentFileTest)
add_test(NAME eventTrackTest COMMAND ${CMAKE_CURRENT_BINARY_DIR}/eventTrackTest)
