[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cmake
Subject:    Re: [CMake] Nina Generator on Windows generates too long link cmd lines
From:       Bill Hoffman <bill.hoffman () kitware ! com>
Date:       2012-05-30 17:50:21
Message-ID: 4FC65DDD.6020201 () kitware ! com
[Download RAW message or body]

On 5/30/2012 1:07 PM, Peter Kuemmel wrote:
>
>>
>> The cmake code needs to be updated to use the native ninja response
>> files.   If you are interested in this work, I can help you figure out
>> where to make the changes.
>>
>> -Bill
>
> Have you started working on this? And is there somewhere already a branch?
> If not, where is the best place for such a branch, github or stage?
>
> Peter
No, no not much actual work...


However, what needs to be done is this:

http://martine.github.com/ninja/manual.html#_rule_variables
rspfile, rspfile_content
rule link
   command = link.exe /OUT$out [usual link flags here] @$out.rsp
   rspfile = $out.rsp
   rspfile_content = $in

We have to add this code to the cmNinjaNormalTargetGenerator.cxx

I think this method will also have to be updated to know about rspfiles:
cmGlobalNinjaGenerator::WriteRule


Claus did this by hand and it worked:

rule CXX_EXECUTABLE_LINKER
   #XXX command = cmd.exe /c $PRE_LINK && 
C:\Programme\CMake2.8\bin\cmake.exe -E vs_link_exe 
c:\PROGRA~1\MICROS~4\VC\bin\link.exe /nologo /OUT:$out /DEBUG 
/PDB:$TARGET_PDB /IMPLIB:$TARGET_IMPLIB /version:0.0  @$out.rsp && 
$POST_BUILD
   command = cmd.exe /c $PRE_LINK && 
C:\PROGRA~1\MICROS~4\VC\bin\link.exe /nologo /OUT:$out /DEBUG 
/PDB:$TARGET_PDB /IMPLIB:$TARGET_IMPLIB /version:0.0  @$out.rsp && 
$POST_BUILD
   description = Linking CXX executable $out
   rspfile = $out.rsp
   rspfile_content = $FLAGS $LINK_FLAGS $LINK_LIBRARIES $in



-- 
Bill Hoffman
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
bill.hoffman@kitware.com
http://www.kitware.com
518 881-4905 (Direct)
518 371-3971 x105
Fax (518) 371-4573
--

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic