On 12/03/2014 10:57 AM, Robert Goulet wrote:
> trying to pass the linker flag "/STACK:reserve[,commit]"
[snip]
> Visual Studio linker requires us to pass the 'commit' argument like this:
> 
>  /STACK:"2048"",1024"

For the VS generators CMake needs to parse the arguments and transform
them into the proper IDE project property settings.  At the time this was
designed almost all MS tool flags conformed to a simple pattern.  It is
parsed here:

 
http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmIDEOptions.cxx;hb=v3.0.2#l33

and mapped through a lookup table to get the IDE setting.  The entry for
"/STACK:" is here:

 
http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmVS10LinkFlagTable.h;hb=v3.0.2#l263

and maps to StackReserveSize.  Note the comment about StackCommitSize
not being supported currently.

However, some flags do not conform to this pattern and need special
hard-coded handling in the parser.  The StoreUnknownFlag method does
this:

 
http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmVisualStudioGeneratorOptions.cxx;hb=v3.0.2#l176

Someone will have to remove /STACK: from the standard flag tables and
add explicit handling to StoreUnknownFlag to split the value into the
separate StackReserveSize and StackCommitSize properties.

-Brad
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to