Files
DisplayFlow/platforms/windows/CMakeLists.txt
2025-12-11 22:58:25 +08:00

68 lines
1.8 KiB
CMake

# 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()