Browse Source

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.
Brad King 16 years ago
parent
commit
2e48fe0eec
1 changed files with 8 additions and 0 deletions
  1. 8 0
      Tests/BuildDepends/CMakeLists.txt

+ 8 - 0
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