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)
