diff --git a/CMake/elxWinConfig.cmake b/CMake/elxWinConfig.cmake index c9a8eb734b8260f259e95fa5be4f6dd3605ea79d..6e2408335a8f8040c6f40e532f4d2286dc8e7760 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()