From d5e50460e7a6ca5c3da71ee3b7585a7f48da5235 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Fri, 18 Aug 2023 10:47:47 -0600 Subject: [PATCH] CMake/MSVC: Use /debug:fastlink for debug builds This changes the default linker options for debug builds to use fastlinking, this causes the PDB only to be usable on the machine it is being created on, however since debug builds cannot be distributed to end users (wont run due to missing debug CRT on their system) this isn't a problem. This halves the time required for an incremental link on my system from 7->3.5 seconds --- build_files/cmake/platform/platform_win32.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index eb1b08b9846..578be32a052 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -249,7 +249,7 @@ endif() string(APPEND PLATFORM_LINKFLAGS " /SUBSYSTEM:CONSOLE /STACK:2097152") set(PLATFORM_LINKFLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib") -string(APPEND PLATFORM_LINKFLAGS_DEBUG " /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmtd.lib") +string(APPEND PLATFORM_LINKFLAGS_DEBUG "/debug:fastlink /IGNORE:4099 /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmtd.lib") # Ignore meaningless for us linker warnings. string(APPEND PLATFORM_LINKFLAGS " /ignore:4049 /ignore:4217 /ignore:4221")