[CMake] Nina Generator on Windows generates too long link cmd lines

Peter Kuemmel syntheticpp at gmx.net
Mon Jun 4 05:22:17 EDT 2012


-------- Original-Nachricht --------
> Datum: Mon, 4 Jun 2012 08:19:55 +0200
> Von: Claus Klein <claus.klein at arcormail.de>
> An: "Peter Kümmel" <syntheticpp at gmx.net>
> CC: CMake at cmake.org
> Betreff: Re: [CMake] Nina Generator on Windows generates too long link cmd lines

> Yes, at least the old Darwin ar does not support this option!
> 
> claus-kleins-macbook-pro:ninja clausklein$ /usr/bin/ar -h
> usage:  ar -d [-TLsv] archive file ...
> 	ar -m [-TLsv] archive file ...
> 	ar -m [-abiTLsv] position archive file ...
> 	ar -p [-TLsv] archive [file ...]
> 	ar -q [-cTLsv] archive file ...
> 	ar -r [-cuTLsv] archive file ...
> 	ar -r [-abciuTLsv] position archive file ...
> 	ar -t [-TLsv] archive [file ...]
> 	ar -x [-ouTLsv] archive [file ...]
> claus-kleins-macbook-pro:ninja clausklein$
> 
> I think, solaris and BSD will have the same version, but not sure.

OK. The easiest way to fix this is to check if the argument list is 
too long for the command line, then on Unix/Linux very seldom a 
response is needed (I assume ATM never a response file is used on Unix).
Or even simpler, lets disable response file support on non-Windows systems.

> 
> This future needs a runtime test, IMO

Yes! Let's test the future ;)

> 
> Claus
> 
> On 03.06.2012, at 22:55, Peter Kümmel wrote:
> 
> > On 03.06.2012 01:02, Claus Klein wrote:
> >> Hi Peter,
> >>
> >> after a quick test with our code, I found again the problem with unix
> >> ar utile for static libs. it does not support a linker response file!
> >
> > Are you sure? Here (Ubuntu) ar lists @<file> as option.
> >
> >>
> >> And is is not clear to me who sets this cache values:
> >> CMAKE_CXX_RESPONSE_FILE_LINK_FLAG:STRING=-Wl,@
> >> CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL=TRUE
> >> CMAKE_C_RESPONSE_FILE_LINK_FLAG:STRING=-Wl,@
> >> CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL=TRUE
> >
> > In the depths of the macro files interpreted at runtime.
> > You have to search for the strings in ...\CMake 2.8\share\cmake-2.8
> >
> >>
> >> I have found a problem if ninja is not at a std path installed. So  
> >> the
> >> rules.ninja files should use the absolute path to ninja executable.
> >>
> >> Here my final Version.
> >>
> >> Claus
> >>
> > --
> >
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.cmake.org/mailman/listinfo/cmake
> 
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de


More information about the CMake mailing list