From 84c51cc44d2f5ad50d57b6bc5d17e82e695d6a2b Mon Sep 17 00:00:00 2001
From: Kasper Marstal <kaspermarstal@gmail.com>
Date: Mon, 24 Aug 2015 15:46:27 +0200
Subject: [PATCH] COMP: ELASTIX-1 Add support for big build objects on Windows

---
 CMake/elxWinConfig.cmake | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/CMake/elxWinConfig.cmake b/CMake/elxWinConfig.cmake
index c9a8eb73..6e240833 100644
--- a/CMake/elxWinConfig.cmake
+++ b/CMake/elxWinConfig.cmake
@@ -1,19 +1,23 @@
 # Visual Studio complains if paths are too long
 
-string( LENGTH "${CMAKE_CURRENT_SOURCE_DIR}" n )
-if( n GREATER 50 )
-message(
-  FATAL_ERROR
-  "ITK source code directory path length is too long (${n} > 50)."
-  "Please move the ITK source code directory to a directory with a shorter path."
-  )
-endif()
+if( MSVC )
+  string( LENGTH "${CMAKE_CURRENT_SOURCE_DIR}" n )
+  if( n GREATER 50 )
+  message(
+    FATAL_ERROR
+    "ITK source code directory path length is too long for MSVC (${n} > 50)."
+    )
+  endif()
+
+  string( LENGTH "${CMAKE_CURRENT_BINARY_DIR}" n )
+  if( n GREATER 50 )
+  message(
+    FATAL_ERROR
+    "ITK build directory path length is too long for MSVC (${n} > 50)."
+    )
+  endif()
 
-string( LENGTH "${CMAKE_CURRENT_BINARY_DIR}" n )
-if( n GREATER 50 )
-message(
-  FATAL_ERROR
-  "ITK build directory path length is too long (${n} > 50)."
-  "Please set the ITK build directory to a directory with a shorter path."
-  )
+  set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj" )
+  set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /bigobj" )
+  set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /bigobj" )
 endif()
-- 
GitLab