diff options
-rw-r--r-- | CMakeLists.txt | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 488dcea8a..f08da5836 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -228,8 +228,14 @@ if(COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG AND NOT COMPILER_RT_DEBUG) list(APPEND SANITIZER_COMMON_CFLAGS -gline-tables-only) elseif(COMPILER_RT_HAS_G_FLAG) list(APPEND SANITIZER_COMMON_CFLAGS -g) -elseif(COMPILER_RT_HAS_Zi_FLAG) - list(APPEND SANITIZER_COMMON_CFLAGS /Zi) +elseif(MSVC) + # Use /Z7 instead of /Zi for the asan runtime. This avoids the LNK4099 + # warning from the MS linker complaining that it can't find the 'vc140.pdb' + # file used by our object library compilations. + list(APPEND SANITIZER_COMMON_CFLAGS /Z7) + llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/Z[i7I]" "/Z7") + llvm_replace_compiler_option(CMAKE_CXX_FLAGS_DEBUG "/Z[i7I]" "/Z7") + llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Z[i7I]" "/Z7") endif() # Turn off several warnings. |