# Windows 平台适配层 CMakeLists.txt cmake_minimum_required(VERSION 3.15) if(NOT WIN32) message(FATAL_ERROR "Windows platform can only be built for Windows") endif() # Windows 平台源文件 set(WINDOWS_SOURCES src/virtual_display/virtual_display.cpp src/virtual_display/iddcx_wrapper.cpp src/capture/camera_capture.cpp src/render/directx_renderer.cpp src/render/d3d11_renderer.cpp src/input/keyboard_handler.cpp src/input/mouse_handler.cpp src/network/windows_network_manager.cpp src/platform_adapter.cpp ) # Windows 平台头文件 set(WINDOWS_HEADERS include/displayflow/platform/windows/virtual_display/virtual_display.h include/displayflow/platform/windows/virtual_display/iddcx_wrapper.h include/displayflow/platform/windows/capture/camera_capture.h include/displayflow/platform/windows/render/directx_renderer.h include/displayflow/platform/windows/render/d3d11_renderer.h include/displayflow/platform/windows/input/keyboard_handler.h include/displayflow/platform/windows/input/mouse_handler.h include/displayflow/platform/windows/network/windows_network_manager.h include/displayflow/platform/windows/platform_adapter.h ) # 创建 Windows 平台库 add_library(displayflow_windows STATIC ${WINDOWS_SOURCES} ${WINDOWS_HEADERS} ) # 包含目录 target_include_directories(displayflow_windows PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/../../core/include ) # 链接核心库 target_link_libraries(displayflow_windows PUBLIC displayflow_core ) # Windows 特定库 target_link_libraries(displayflow_windows dxgi d3d11 d3dcompiler winmm ws2_32 ) # Windows SDK if(CMAKE_SYSTEM_VERSION) target_compile_definitions(displayflow_windows PRIVATE _WIN32_WINNT=0x0A00 # Windows 10 WINVER=0x0A00 ) endif()