CMake: Remove "/STACK:10000000" from default linker flags (#12437)
Modern apps that use multiple threads do NOT want 10 Megabytes of RAM per thread being used for each thread's stack... Just leave off the /STACK: argument, and let the compiler use a reasonable default value for the stack size. If existing single-threaded apps require the /STACK: argument because they do need a very large stack size, they can add the flag in their own CMakeLists files.
This commit is contained in:
parent
0499f93716
commit
51af1da3d2
|
@ -50,7 +50,7 @@ elseif(MSVC_CXX_ARCHITECTURE_ID)
|
|||
elseif(MSVC_Fortran_ARCHITECTURE_ID)
|
||||
set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
|
||||
endif()
|
||||
set (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:YES ${_MACHINE_ARCH_FLAG}")
|
||||
set (CMAKE_EXE_LINKER_FLAGS_INIT "/INCREMENTAL:YES ${_MACHINE_ARCH_FLAG}")
|
||||
set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
|
||||
set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
|
|||
|
||||
# executable linker flags
|
||||
set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
|
||||
# set the stack size and the machine type
|
||||
# set the machine type
|
||||
set(_MACHINE_ARCH_FLAG ${MSVC_C_ARCHITECTURE_ID})
|
||||
if(NOT _MACHINE_ARCH_FLAG)
|
||||
set(_MACHINE_ARCH_FLAG ${MSVC_CXX_ARCHITECTURE_ID})
|
||||
|
@ -178,7 +178,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "WindowsCE")
|
|||
endif()
|
||||
endif()
|
||||
set (CMAKE_EXE_LINKER_FLAGS_INIT
|
||||
"${CMAKE_EXE_LINKER_FLAGS_INIT} /STACK:10000000 /machine:${_MACHINE_ARCH_FLAG}")
|
||||
"${CMAKE_EXE_LINKER_FLAGS_INIT} /machine:${_MACHINE_ARCH_FLAG}")
|
||||
|
||||
# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
|
||||
# on versions that support it
|
||||
|
|
Loading…
Reference in New Issue