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 $) 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} )