Files
DisplayFlow/demo/windows_sender/CMakeLists.txt

65 lines
1.7 KiB
CMake
Raw Normal View History

2025-12-18 23:07:14 +08:00
cmake_minimum_required(VERSION 3.10)
project(WindowsSenderDemo)
set(CMAKE_CXX_STANDARD 17)
# Windows specific
if(WIN32)
add_definitions(-DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -DNOMINMAX)
endif()
# Source files
set(SOURCES
main.cpp
ScreenCapture.cpp
ScreenCapture.h
VideoEncoder.cpp
VideoEncoder.h
NetworkSender.cpp
NetworkSender.h
2025-12-22 13:48:06 +08:00
IddBridge.cpp
IddBridge.h
2025-12-22 14:49:47 +08:00
TcpServer.cpp
TcpServer.h
FileTransferProtocol.h
2025-12-18 23:07:14 +08:00
)
add_executable(WindowsSenderDemo ${SOURCES})
# Libraries
# Media Foundation libraries are removed as we switch to FFmpeg
# target_link_libraries(WindowsSenderDemo d3d11 dxgi mf mfplat mfuuid ws2_32 mfreadwrite)
# Find FFmpeg
# You might need to set FFMPEG_ROOT to your FFmpeg installation path
# e.g. cmake .. -DFFMPEG_ROOT="C:/ffmpeg"
find_path(AVCODEC_INCLUDE_DIR libavcodec/avcodec.h PATHS ${FFMPEG_ROOT}/include)
find_library(AVCODEC_LIBRARY avcodec PATHS ${FFMPEG_ROOT}/lib)
find_library(AVFORMAT_LIBRARY avformat PATHS ${FFMPEG_ROOT}/lib)
find_library(AVUTIL_LIBRARY avutil PATHS ${FFMPEG_ROOT}/lib)
find_library(SWSCALE_LIBRARY swscale PATHS ${FFMPEG_ROOT}/lib)
if (AVCODEC_INCLUDE_DIR AND AVCODEC_LIBRARY)
include_directories(${AVCODEC_INCLUDE_DIR})
message(STATUS "Found FFmpeg: ${AVCODEC_INCLUDE_DIR}")
2025-12-22 13:48:06 +08:00
set(USE_FFMPEG 1)
2025-12-18 23:07:14 +08:00
else()
2025-12-22 13:48:06 +08:00
message(WARNING "FFmpeg not found. Building with NO_FFMPEG stub encoder.")
add_definitions(-DNO_FFMPEG)
2025-12-18 23:07:14 +08:00
endif()
target_link_libraries(WindowsSenderDemo
d3d11
dxgi
ws2_32
)
2025-12-22 13:48:06 +08:00
if (USE_FFMPEG)
target_link_libraries(WindowsSenderDemo
${AVCODEC_LIBRARY}
${AVFORMAT_LIBRARY}
${AVUTIL_LIBRARY}
${SWSCALE_LIBRARY}
)
endif()