set(BIN_NAME uos-recovery-test)


set(CMAKE_INCLUDE_CURRENT_DIR  ON)

find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5DBus REQUIRED)
find_package(DtkCMake REQUIRED)
find_package(PkgConfig REQUIRED)
find_package(PolkitQt5-1 REQUIRED)
find_package(Qt5Sql REQUIRED)

pkg_check_modules(DtkWidget REQUIRED dtkwidget)

include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${UTILS_DIR})

aux_source_directory(${UTILS_DIR} TEST_SRCS)
aux_source_directory(${UTILS_DIR}/data-collection TEST_SRCS)
aux_source_directory(${TEST_DIR} TEST_SRCS)


add_executable(${BIN_NAME}
        ${TEST_SRCS}
        ${SERVER_DIR}/SystemRecovery.h
        ${SERVER_DIR}/SystemRecovery.cpp
        ${SERVER_DIR}/RecoveryService.h
        ${SERVER_DIR}/RecoveryService.cpp
        ${SERVER_DIR}/RsyncSystem.h
        ${SERVER_DIR}/RsyncSystem.cpp
        ${SERVER_DIR}/OSTreeSystem.h
        ${SERVER_DIR}/OSTreeSystem.cpp
        ${SERVER_DIR}/BtrfsSystem.h
        ${SERVER_DIR}/BtrfsSystem.cpp
        ${SERVER_DIR}/LvmSystem.h
        ${SERVER_DIR}/LvmSystem.cpp

        ${SERVER_DIR}/UserDataRecovery.h
        ${SERVER_DIR}/UserDataRecovery.cpp
        ${SERVER_DIR}/RsyncUserData.h
        ${SERVER_DIR}/RsyncUserData.cpp
        ${SERVER_DIR}/BtrfsUserData.h
        ${SERVER_DIR}/BtrfsUserData.cpp
        ${SERVER_DIR}/LvmUserData.h
        ${SERVER_DIR}/LvmUserData.cpp

        ${SERVER_DIR}/DBInterface.cpp
        ${SERVER_DIR}/DBInterface.h

        ${SERVER_DIR}/DimFileRecovery.h
        ${SERVER_DIR}/DimFileRecovery.cpp
        ${SERVER_DIR}/DimFileHandle.h
        ${SERVER_DIR}/DimFileHandle.cpp

        ${SERVER_DIR}/UImgRecovery.h
        ${SERVER_DIR}/UImgRecovery.cpp
        ${SERVER_DIR}/GhostUImg.h
        ${SERVER_DIR}/GhostUImg.cpp

        ${UIMGINSTALLERR_DIR}/UImgOperate.h
        ${UIMGINSTALLERR_DIR}/UImgOperate.cpp
        )

target_include_directories(${BIN_NAME} PUBLIC
        ${DtkWidget_INCLUDE_DIRS}
        )

target_link_libraries(${BIN_NAME}
        ${Qt5Widgets_LIBRARIES}
        ${Qt5DBus_LIBRARIES}
        ${DtkWidget_LIBRARIES}
        Qt5::PrintSupport
        PolkitQt5-1::Agent
        ${Qt5Sql_LIBRARIES}
        )

target_link_libraries(${BIN_NAME}
        Qt5::Core
        Qt5::DBus
        gtest
        gtest_main
        pthread
        )
