Просмотр исходного кода

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 лет назад
Родитель
Сommit
2e48fe0eec
1 измененных файлов с 8 добавлено и 0 удалено
  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