Index: llvm/cmake/modules/HandleLLVMOptions.cmake =================================================================== --- llvm/cmake/modules/HandleLLVMOptions.cmake +++ llvm/cmake/modules/HandleLLVMOptions.cmake @@ -806,6 +806,17 @@ # Always ask the linker to produce symbols with asan. append("/Z7" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) append("-debug" CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) + elseif (MSVC) + check_cxx_source_compiles( + "#include int main() { return 0; }" + msvc_sanitizer_include_enabled) + if(NOT msvc_sanitizer_include_enabled) + file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}/crt/src" MSVC_CRT_SRC_DIR) + if(NOT EXISTS "${MSVC_CRT_SRC_DIR}/sanitizer") + message(WARNING "Sanitizer include directory not found in ${MSVC_CRT_SRC_DIR}") + endif() + include_directories(SYSTEM ${MSVC_CRT_SRC_DIR}) + endif() endif() endmacro()