按《VDI 云桌面软件开发方案》3.2 节实现: - 状态机 BOOT/CONFIG/CONNECTING/SESSION/RECONNECT/ERROR - 首配页(SN 绑定、服务器地址、账号、密码、显示档位) - 全局热键 Ctrl+Alt+Shift+M 呼出管理菜单 - FreeRDP 3 以 libfreerdp3 API 内嵌,非拉起外部进程
43 lines
996 B
CMake
43 lines
996 B
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/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
|
|
)
|
|
|
|
install(TARGETS kiosk-shell RUNTIME DESTINATION bin)
|