mirage/cmake/mingw_dll.cmake
2025-03-28 15:51:33 +08:00

29 lines
986 B
CMake

function(auto_copy_mingw_dll target)
if(MINGW)
# 获取MinGW目录
get_filename_component(MINGW_DIR ${CMAKE_CXX_COMPILER} PATH)
# 根据你的环境调整DLL列表
set(MINGW_DLLS
"libstdc++-6.dll"
# "libgcc_s_dw2-1.dll"
"libgcc_s_seh-1.dll"
"libwinpthread-1.dll"
)
foreach(DLL ${MINGW_DLLS})
# 检查文件是否存在
if(EXISTS "${MINGW_DIR}/${DLL}")
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${MINGW_DIR}/${DLL}"
"$<TARGET_FILE_DIR:${target}>"
COMMENT "Copying ${DLL} to output directory"
VERBATIM)
else()
message(WARNING "DLL not found: ${MINGW_DIR}/${DLL}")
endif()
endforeach()
endif()
endfunction()