I am using CMake 2.8.12 on Windows. My directory/path name contains an 
exclamation point (e.g. C:\!Code\CommandLineTooLong). I get a 'The command line 
is too long.' error when linking an executable from 100 objects.

After poking around in cmGlobalNinjaGenerator.cxx, this is what I think is 
causing the error. Due to the exclamation point in the path name, an 'identify' 
variable (e.g. ident350, ident351, etc.) is generated for each object when 
creating the EXECUTABLE_LINKER build rule. The generated build statement 
consists of the identify variable names (e.g. build $ident450: 
CXX_EXECUTABLE_LINKER $ident350 $ident351 $ident352 ... $ident449). The length 
of this build statement (with identify variables) is used in the calculation to 
determine if a response file is required. The length does not exceed the 
command line limit, so a response file is not used. However, when the identify 
variables are replaced with the path names during the build, the build 
statement is too long causing an error.

Is this a known error? I searched in bug tracker, but didn't find it. If it is 
a known bug, is there a fix for it?

Thanks...Scott
-- 

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

Reply via email to