44 lines
1.0 KiB
CMake
44 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
set(PROJECT_NAME DXGI)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_BUILD_TYPE Ninja)
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
|
project(${PROJECT_NAME})
|
|
|
|
include_directories(ffmpeg-n4.3.2-win64-gpl-shared-4.3\\include)
|
|
link_directories(ffmpeg-n4.3.2-win64-gpl-shared-4.3\\lib)
|
|
|
|
add_executable(
|
|
${PROJECT_NAME}
|
|
WIN32
|
|
DesktopDuplication.cpp
|
|
DisplayManager.cpp
|
|
DuplicationManager.cpp
|
|
ffvideo.cpp
|
|
OutputManager.cpp
|
|
ThreadManager.cpp
|
|
)
|
|
|
|
target_link_libraries(
|
|
${PROJECT_NAME}
|
|
avformat
|
|
avcodec
|
|
avdevice
|
|
avfilter
|
|
avutil
|
|
postproc
|
|
swresample
|
|
swscale
|
|
d3d11
|
|
)
|
|
|
|
# 复制dll
|
|
set(DLL_SOURCE_DIR ${CMAKE_SOURCE_DIR}/ffmpeg-n4.3.2-win64-gpl-shared-4.3/bin)
|
|
set(DLL_DEST_DIR $<TARGET_FILE_DIR:${PROJECT_NAME}>)
|
|
file(GLOB DLL_FILES "${DLL_SOURCE_DIR}/*.dll")
|
|
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${DLL_FILES} ${DLL_DEST_DIR}
|
|
)
|