68 lines
1.8 KiB
CMake
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()
|
|
|