cmake_minimum_required(VERSION 3.22)
project(update_service_test LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(LingmoSDK REQUIRED)
find_program(DBUS_RUN_SESSION dbus-run-session REQUIRED)
set(SERVICE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../lingmo-services)
set(FRAMEWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../lingmo-framework CACHE PATH "Framework checkout")
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/lingmo)
file(CREATE_LINK ${FRAMEWORK_DIR}/clients/update ${CMAKE_CURRENT_BINARY_DIR}/include/lingmo/update SYMBOLIC)
add_executable(update-test update_test.cpp ${SERVICE_DIR}/update/updatemanager.cpp ${SERVICE_DIR}/log.cpp
    ${FRAMEWORK_DIR}/clients/update/update_status.cpp)
target_include_directories(update-test PRIVATE ${SERVICE_DIR} ${SERVICE_DIR}/update ${CMAKE_CURRENT_BINARY_DIR}/include)
target_link_libraries(update-test PRIVATE Lingmo::SDKBase)
enable_testing()
add_test(NAME update-service-retry COMMAND ${DBUS_RUN_SESSION} -- $<TARGET_FILE:update-test>)
set_tests_properties(update-service-retry PROPERTIES PASS_REGULAR_EXPRESSION "Update retry integration passed" TIMEOUT 30)
