From 2e48fe0eeccfd0b7da100d9b38effa0bff3452a7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 27 Oct 2009 11:31:40 -0400 Subject: [PATCH] Avoid Intel linker crash in BuildDepends test The BuildDepends test exercises incremental linking with MSVC and Intel tools on Windows. In some cases the Intel compiler creates objects that cause the MS linker it invokes to crash during incremental linking. We avoid the problem for this test by disabling incremental linking. --- Tests/BuildDepends/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt index 3eb919542..871464086 100644 --- a/Tests/BuildDepends/CMakeLists.txt +++ b/Tests/BuildDepends/CMakeLists.txt @@ -28,6 +28,12 @@ function(help_xcode_depends) endif(HELP_XCODE) endfunction(help_xcode_depends) +# The Intel compiler causes the MSVC linker to crash during +# incremental linking, so avoid the /INCREMENTAL:YES flag. +if(WIN32 AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") + set(_cmake_options "-DCMAKE_EXE_LINKER_FLAGS=") +endif() + file(MAKE_DIRECTORY ${BuildDepends_BINARY_DIR}/Project) message("Creating Project/foo.cxx") write_file(${BuildDepends_BINARY_DIR}/Project/foo.cxx @@ -49,6 +55,7 @@ try_compile(RESULT ${BuildDepends_BINARY_DIR}/Project ${BuildDepends_SOURCE_DIR}/Project testRebuild + CMAKE_FLAGS ${_cmake_options} OUTPUT_VARIABLE OUTPUT) if(HELP_XCODE) try_compile(RESULT @@ -131,6 +138,7 @@ try_compile(RESULT ${BuildDepends_BINARY_DIR}/Project ${BuildDepends_SOURCE_DIR}/Project testRebuild + CMAKE_FLAGS ${_cmake_options} OUTPUT_VARIABLE OUTPUT) # Xcode is in serious need of help here