[cmake-developers] [CMake 0011913]: Cmake default settings for CXX compiler causes out of heap space errors in large and complex projects for VS2010

Mantis Bug Tracker mantis at public.kitware.com
Tue Mar 1 08:53:32 EST 2011


The following issue has been SUBMITTED. 
====================================================================== 
http://cmake.org/Bug/view.php?id=11913 
====================================================================== 
Reported By:                Brendan Wilson
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   11913
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-03-01 08:53 EST
Last Modified:              2011-03-01 08:53 EST
====================================================================== 
Summary:                    Cmake default settings for CXX compiler causes out
of heap space errors in large and complex projects for VS2010
Description: 
When building large and complex projects in Visual Studio 10 Cmake's default
setting of /Zm1000 in Windows-cl.cmake causes 'error 1060: out of heap space'
for systems that have 4GB or less of system memory.

Steps to Reproduce: 
on a 32-bit system with 4GB of memory follow the steps in the following page to
set up and autobuild envionment.
Instructions:
http://wiki.secondlife.com/wiki/User:Nicky_Perian/Visual_Studio_10_Autobuild
Repositories needed: 
      autobuild framwork: https://bitbucket.org/lindenlab/autobuild
   Source Code : https://bitbucket.org/NickyP/viewer-autobuild2010-wip

Additional Information: 
I have made a work around in Windows-cl.cmake for use in my system and it is the
following:
replace line 156 with:

  IF(MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /EHsc /GR")
  ELSEIF(NOT MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR")
  ENDIF(MSVC10)

replace line 172 with:

  IF(MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /GX /GR")
  ELSEIF(NOT MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR")
  ENDIF(MSVC10)

replce line 184 with :

  IF(MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /GX /GR")
  ELSEIF(NOT MSVC10)
    SET(CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR")
  ENDIF(MSVC10)

====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-03-01 08:53 Brendan Wilson New Issue                                    
======================================================================




More information about the cmake-developers mailing list