From 882b67dff4f8dcf5c7886fc6a5d9f8ac2ae6cd0b Mon Sep 17 00:00:00 2001 From: Nick Kreeger Date: Tue, 14 Sep 2021 09:40:33 -0700 Subject: [PATCH] Drop incremental linking on Windows with REL_WITH_DEB_INFO=1. (#64892) Summary: The library will no longer link properly on VS 2019 (14.29.30133). To ensure that engineers building on Windows can use and debug with this build type, incremental linking needs to be turned off for this build flag. Verified that this build type successfully builds, links, and provides debuggable Python modules on Windows. Pull Request resolved: https://github.com/pytorch/pytorch/pull/64892 Reviewed By: jbschlosser Differential Revision: D30902565 Pulled By: malfet fbshipit-source-id: e5286a4c6f45c7cbe4cdc1b98560129bd386970b --- CMakeLists.txt | 4 +++- cmake/Dependencies.cmake | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5eed72..0956b6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -491,9 +491,11 @@ if(MSVC) endforeach(flag_var) foreach(flag_var + CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO + CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_STATIC_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG) - # Switch off incremental linking in debug builds + # Switch off incremental linking in debug/relwithdebinfo builds if(${flag_var} MATCHES "/INCREMENTAL" AND NOT ${flag_var} MATCHES "/INCREMENTAL:NO") string(REGEX REPLACE "/INCREMENTAL" "/INCREMENTAL:NO" ${flag_var} "${${flag_var}}") endif() diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index b3cc23c..ca56028 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -65,6 +65,8 @@ if(MSVC) endforeach(flag_var) endif(MSVC_Z7_OVERRIDE) foreach(flag_var + CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO + CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_STATIC_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG) if(${flag_var} MATCHES "/INCREMENTAL" AND NOT ${flag_var} MATCHES "/INCREMENTAL:NO") -- 2.7.4