set(BIN_NAME uos-recovery-service)


aux_source_directory(${UTILS_DIR} SERVICE_SRCS)
aux_source_directory(${UTILS_DIR}/data-collection SERVICE_SRCS)
aux_source_directory(${SERVER_DIR} SERVICE_SRCS)

find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)
find_package(Qt6 REQUIRED Widgets Core DBus Sql)
find_package(PkgConfig REQUIRED)
#find_package(Qt5Core REQUIRED)
find_package(Dtk6CMake REQUIRED)
find_package(Dtk6Widget REQUIRED)
#find_package(Qt5Widgets REQUIRED)
#find_package(Qt6DBus REQUIRED)
#find_package(Qt6Sql REQUIRED)
find_package(PolkitQt6-1 REQUIRED)

pkg_search_module(UDisk2 REQUIRED udisks2-qt6)
include_directories(AFTER ${UDisk2_INCLUDE_DIRS})
include_directories(${CMAKE_SOURCE_DIR}/src)

aux_source_directory(${SERVER_DIR} SERVICE_SRCS)

add_executable(uos-recovery-service
        ${SERVICE_SRCS}
        )

target_include_directories(${BIN_NAME} PUBLIC
        ${Dtk6Widget_INCLUDE_DIRS}
        ${DTK6CORE_INCLUDE_DIRS}
        ${UDisk2_INCLUDE_DIRS}
        )


target_link_libraries(${BIN_NAME}
        ${Qt6Widgets_LIBRARIES}
        ${Qt6DBus_LIBRARIES}
        ${Qt6Sql_LIBRARIES}
        ${Dtk6Widget_LIBRARIES}
        ${UDisk2_LIBRARIES}
        PolkitQt6-1::Agent
        )


#translations

# bin
install(TARGETS ${BIN_NAME}
        DESTINATION /usr/lib/deepin-daemon)

#scripts
#file(GLOB SCRIPTS "scripts/*")
#install(FILES ${SCRIPTS}
#        DESTINATION lib/uos-recovery/scripts/)

install(FILES scripts/recovery-hooks
        DESTINATION /usr/share/initramfs-tools/hooks/
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES scripts/initrd-recovery
        DESTINATION /usr/share/initramfs-tools/scripts/local-bottom/
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES scripts/recovery-utils
        DESTINATION /usr/share/initramfs-tools/scripts/local-bottom/
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

# grub 还原脚本和配置文件
install(FILES scripts/recovery-by-grub
        DESTINATION /var/lib/uos-recovery/scripts/
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES config/recovery.json
        DESTINATION /var/lib/deepin-boot-kit/config)

#app ini
install(FILES config/uos-recovery.ini
        DESTINATION /etc/uos-recovery/)

# dbus conf
install(FILES service/com.deepin.uosrecovery.conf
        DESTINATION /usr/share/dbus-1/system.d/)

#dbus service
install(FILES service/com.deepin.uosrecovery.service
        DESTINATION /usr/share/dbus-1/system-services/)

install(FILES service/uos-recovery.service
        DESTINATION /usr/lib/systemd/system/)
# dbus policy
install(FILES service/com.deepin.uosrecovery.policy
        DESTINATION /usr/share/polkit-1/actions/)

# rollback notify
install(FILES service/uos-recovery-notify.desktop
        DESTINATION /usr/share/uos-recovery/)
