diff --git a/CMakeLists.txt b/CMakeLists.txt index ef8906c8907..3218e844b6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,15 @@ if ( LLVM_USE_FOLDERS ) set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif() +if(MSVC AND NOT (${CMAKE_VERSION} VERSION_LESS 2.8.11)) + # set stack reserved size to ~10MB + # CMake previously automatically set this value for MSVC builds, but the + # behavior was changed in CMake 2.8.11 (Issue 12437) to use the MSVC default + # value (1 MB) which is not enough for us in tasks such as parsing recursive + # C++ templates in Clang. + set(CMAKE_CXX_STACK_SIZE "10000000") +endif() + include(VersionFromVCS) option(LLVM_APPEND_VC_REV