- 登录页改为用户认证(本地演示认证,账号密码非空通过) - 新增桌面列表页:Windows/Moonlight 可连接,Ubuntu/麒麟待分配 - 新增 DesktopService 适配层(登录/桌面列表/连接票据,后续接 API) - 新增 MoonlightSession:QProcess 参数数组直启 moonlight-qt,退出回列表 - 状态机扩展 AUTHENTICATING / DESKTOP_LIST - 移除开机自动 RDP,收敛为 monitor -> kiosk-shell 单一自启链 - Monitor 按进程组结束整棵进程树,修复孤儿串流进程 - vdi-moonlight 启动器新增 vsync/frame-pacing/overlay 低延迟开关
59 lines
1.4 KiB
CMake
59 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
||
project(kiosk-shell CXX)
|
||
|
||
# 对应《VDI 云桌面软件开发方案》2.2 节技术栈定版:
|
||
# kiosk 与 freerdp 插件用 C/C++(贴合 GTK/GStreamer 生态)
|
||
set(CMAKE_CXX_STANDARD 17)
|
||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
set(CMAKE_AUTOMOC ON)
|
||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||
|
||
if(NOT CMAKE_BUILD_TYPE)
|
||
set(CMAKE_BUILD_TYPE Release)
|
||
endif()
|
||
|
||
# ---- Qt5 ----
|
||
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets)
|
||
|
||
# ---- FreeRDP 3 ----
|
||
find_package(PkgConfig REQUIRED)
|
||
pkg_check_modules(FREERDP REQUIRED IMPORTED_TARGET freerdp3)
|
||
|
||
add_executable(kiosk-shell
|
||
src/main.cpp
|
||
src/main_window.cpp
|
||
src/login_page.cpp
|
||
src/desktop_list_page.cpp
|
||
src/desktop_service.cpp
|
||
src/moonlight_session.cpp
|
||
src/state_machine.cpp
|
||
src/config.cpp
|
||
src/rdp_session.cpp
|
||
)
|
||
|
||
target_include_directories(kiosk-shell PRIVATE
|
||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||
)
|
||
|
||
target_link_libraries(kiosk-shell PRIVATE
|
||
Qt5::Core
|
||
Qt5::Gui
|
||
Qt5::Widgets
|
||
PkgConfig::FREERDP
|
||
)
|
||
|
||
# 看门狗 Monitor:独立进程,监控主进程假死/崩溃
|
||
add_executable(vdi-kiosk-monitor
|
||
src/monitor_main.cpp
|
||
src/monitor.cpp
|
||
)
|
||
|
||
target_include_directories(vdi-kiosk-monitor PRIVATE
|
||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||
)
|
||
|
||
find_package(Threads REQUIRED)
|
||
target_link_libraries(vdi-kiosk-monitor PRIVATE Threads::Threads)
|
||
|
||
install(TARGETS kiosk-shell vdi-kiosk-monitor RUNTIME DESTINATION bin)
|