添加 /FS 标志来允许多个 CL.EXE 进程写入同一个 PDB 文件

(cherry picked from commit c12510cbdea34463b411858a0034c52e6ded5c5f)
This commit is contained in:
2025-10-29 16:57:59 +08:00
committed by speakeloudest
parent bba8acfe76
commit 7011ba1551
2 changed files with 12 additions and 0 deletions
+8
View File
@@ -78,6 +78,14 @@ add_subdirectory("runner")
# them to the application.
include(flutter/generated_plugins.cmake)
# 为所有插件应用 /FS 标志,解决 PDB 文件锁冲突问题
# 这确保 flutter_inappwebview_windows 等插件能够正确编译
foreach(plugin ${FLUTTER_PLUGIN_LIST})
if(TARGET ${plugin}_plugin)
target_compile_options(${plugin}_plugin PRIVATE /FS)
endif()
endforeach(plugin)
# === Installation ===
# Support files are copied into place next to the executable, so that it can
+4
View File
@@ -24,6 +24,10 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST})
target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin)
list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>)
list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries})
# 为每个插件目标应用 /FS 编译选项,解决并行编译时的 PDB 锁冲突
if(TARGET ${plugin}_plugin)
target_compile_options(${plugin}_plugin PRIVATE /FS)
endif()
endforeach(plugin)
foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})