MantisBT - CMake | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0012437 | CMake | CMake | public | 2011-08-31 13:01 | 2013-07-01 09:37 | |||||
Reporter | Glenn Coombs | |||||||||
Assigned To | David Cole | |||||||||
Priority | normal | Severity | minor | Reproducibility | always | |||||
Status | closed | Resolution | fixed | |||||||
Platform | Microsoft | OS | Windows | OS Version | 7 | |||||
Product Version | CMake 2.8.5 | |||||||||
Target Version | CMake 2.8.11 | Fixed in Version | CMake 2.8.11 | |||||||
Summary | 0012437: Default link line includes massive stack size of 10M with the /STACK:10000000 option | |||||||||
Description | Projects configured by cmake for Visual Studio 2008 (and 2010) set a default stack size of 10M. This is quite a large value for a default stack size and causes multi threaded programs to die with an "out of memory" error message. We use the SystemC library in our programs and it is quite common to have programs with between 50 and 200 threads. With 10M per thread that uses anything from 500M up to 2G of memory just for the thread stacks. Can the cmake MSVC generators be changed to not add the /STACK option at all by default ? That way MSVC users would get the same stack size when using cmake configured projects as they would get for non cmake configured projects. | |||||||||
Steps To Reproduce | Create a minimal project like the one given below in the additional information section and then run cmake to configure it for Visual Studio 2008. Open the generated solution in Visual Studio 2008 and check the "Properties=>Linker=>Command Line" section. You will see that the link line specifies a stack size of 10M with the /STACK:10000000 option. | |||||||||
Additional Information | cmake_minimum_required(VERSION 2.8) project(foo) file(WRITE foo.c "int main(int argc, char *argv[]) { return 0; }\n") add_executable(foo foo.c) | |||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | ||||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2011-08-31 13:01 | Glenn Coombs | New Issue | ||||||||
2012-08-11 11:38 | David Cole | Status | new => backlog | |||||||
2012-08-11 11:38 | David Cole | Note Added: 0030301 | ||||||||
2012-11-09 07:49 | David Cole | Target Version | => CMake 2.8.11 | |||||||
2012-11-20 17:11 | David Cole | Assigned To | => David Cole | |||||||
2012-11-20 17:11 | David Cole | Status | backlog => assigned | |||||||
2012-11-23 13:24 | David Cole | Note Added: 0031690 | ||||||||
2012-11-23 13:24 | David Cole | Status | assigned => resolved | |||||||
2012-11-23 13:24 | David Cole | Fixed in Version | => CMake 2.8.11 | |||||||
2012-11-23 13:24 | David Cole | Resolution | open => fixed | |||||||
2013-02-13 13:03 | Brad King | Relationship added | related to 0013912 | |||||||
2013-07-01 09:37 | Robert Maynard | Note Added: 0033420 | ||||||||
2013-07-01 09:37 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|