变更详情:删除 RDP 渲染管线,协议统一 Moonlight;退出三层设计与串流过场层落地 - 移除 rdp_session.*、FreeRDP 构建依赖与代码内协议概念,Moonlight 为唯一会话通道 - Ctrl+Alt+Shift+Q 退串流回列表(kiosk 兜底 + moonlight-qt 主路径);登录页去退出按钮 - 新增 TransitionOverlay:全屏过场层盖住串流启动闪烁,进程 CPU 首帧检测后淡出 - Sunshine 写入 sw_preset=ultrafast;实测推翻 x264 瓶颈结论(21.6FPS 帽子在虚拟显示/捕获节奏,CPU≈0%) - 文档:麒麟(101/.71)/Ubuntu(102/.72) 接入信息与四件事落地记录;MEMORY 根因修正
56 lines
1.4 KiB
CMake
56 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
||
project(kiosk-shell CXX)
|
||
|
||
# 对应《VDI 云桌面软件开发方案》2.2 节技术栈定版:
|
||
# kiosk 用 C/C++/Qt;会话通道统一 Moonlight(RDP 渲染管线已移除,代码存于 git 历史)
|
||
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)
|
||
|
||
add_executable(kiosk-shell
|
||
src/main.cpp
|
||
src/main_window.cpp
|
||
src/login_page.cpp
|
||
src/desktop_list_page.cpp
|
||
src/desktop_settings_dialog.cpp
|
||
src/desktop_service.cpp
|
||
src/desktop_store.cpp
|
||
src/moonlight_session.cpp
|
||
src/transition_overlay.cpp
|
||
src/state_machine.cpp
|
||
src/config.cpp
|
||
)
|
||
|
||
target_include_directories(kiosk-shell PRIVATE
|
||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||
)
|
||
|
||
target_link_libraries(kiosk-shell PRIVATE
|
||
Qt5::Core
|
||
Qt5::Gui
|
||
Qt5::Widgets
|
||
)
|
||
|
||
# 看门狗 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)
|