cmake_minimum_required(VERSION 3.10)
project(kylin-treasure-box-service)

add_subdirectory(src/SystemDBusService)
add_subdirectory(src/SessionDBusService)
add_subdirectory(src/App)

# add_subdirectory(test/SystemDBusService)

# 安装app_info.json文件
install(FILES ${CMAKE_SOURCE_DIR}/share/app_info.json DESTINATION /usr/share/kylin-treasure-box-service)

# 安装脚本
file(GLOB SCRIPT_FILES ${CMAKE_SOURCE_DIR}/share/scripts/*.sh)
foreach(SCRIPT_FILE ${SCRIPT_FILES})
    get_filename_component(FILE_NAME ${SCRIPT_FILE} NAME)
    install(FILES ${SCRIPT_FILE} DESTINATION /usr/share/kylin-treasure-box-service/scripts/)
endforeach()

# 安装检验脚本
file(GLOB CHECK_SH_FILES ${CMAKE_SOURCE_DIR}/share/check_scripts/*.sh)
foreach(CHECK_SH_FILE ${CHECK_SH_FILES})
    get_filename_component(FILE_NAME ${CHECK_SH_FILE} NAME)
    install(FILES ${CHECK_SH_FILE} DESTINATION /usr/share/kylin-treasure-box-service/check_script/)
endforeach()

# 安装desktop文件
file(GLOB DESKTOP_FILES ${CMAKE_SOURCE_DIR}/share/applications/*.desktop)

foreach(DESKTOP_FILE ${DESKTOP_FILES})
    get_filename_component(FILE_NAME ${DESKTOP_FILE} NAME)
    install(FILES ${DESKTOP_FILE} DESTINATION /usr/share/applications/)
endforeach()

# 安装dbus安全管控文件
# /etc/dbus-1/conf/com.kylin.systemtreasurebox.limit
# /etc/dbus-1/conf/com.kylin.systemtreasurebox.limit.verify
# /etc/kylin-config/basic/com.kylin.systemtreasurebox.yaml
# 以上三个文件可能会安装失败，先安装到其他路径，postins脚本中拷贝过去
# /usr/share/dbus-1/conf/com.kylin.systemtreasurebox.limit
# /usr/share/dbus-1/conf/com.kylin.systemtreasurebox.limit.verify
# 以上两个文件也要保留
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.systemtreasurebox.limit DESTINATION /usr/share/dbus-1/conf/)
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.systemtreasurebox.limit.verify DESTINATION /usr/share/dbus-1/conf/)
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.systemtreasurebox.yaml DESTINATION /usr/share/kylin-treasure-box-service)

# 安装dbus服务被动启动文件
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.systemtreasurebox.service DESTINATION /usr/share/dbus-1/system-services/)
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.systemtreasurebox.conf DESTINATION /etc/dbus-1/system.d/)
install(FILES ${CMAKE_SOURCE_DIR}/config/com.kylin.treasurebox.service DESTINATION /usr/share/dbus-1/services)

# 安装systemd服务文件
install(FILES ${CMAKE_SOURCE_DIR}/config/kylin-system-treasure-box-service.service DESTINATION /lib/systemd/system/)