Re: [CMake] Nina Generator on Windows generates too long link cmd lines
On 04.06.2012 17:59, Bill Hoffman wrote: We are you using the linker support for response files? I thought ninja was handling this with its own response files? rspfile, rspfile_content rule link command = link.exe /OUT$out [usual link flags here] @$out.rsp rspfile = $out.rsp rspfile_content = $in Seems like command could be anything at all. command = foobar $out bunch of stuff @$out.rsp Also, perhaps we should move this to the cmake-developers list? Are you both on that list? I've answered on the the devel list. -Bill -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
We are you using the linker support for response files? I thought ninja was handling this with its own response files? rspfile, rspfile_content rule link command = link.exe /OUT$out [usual link flags here] @$out.rsp rspfile = $out.rsp rspfile_content = $in Seems like command could be anything at all. command = foobar $out bunch of stuff @$out.rsp Also, perhaps we should move this to the cmake-developers list? Are you both on that list? -Bill -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Original-Nachricht > Datum: Mon, 4 Jun 2012 08:19:55 +0200 > Von: Claus Klein > An: "Peter Kümmel" > CC: CMake@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 @ 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 -- 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
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. This future needs a runtime test, IMO 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 @ 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
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 @ 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
There's also a branch for Ninja support in Eclipse: http://cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/NinjaEclipse On 03.06.2012 19:06, Claus Klein wrote: I found the problem. Now Eclipse and Ninja works too. .-)) //Regards Claus On 03.06.2012, at 12:15, Claus Klein wrote: Hi Peter, I have tried it myself, but with different luck. The Kdevelop works, but EclipseGenerator crashes while generating ... May you have a look at it? Claus On 02.06.2012, at 18:58, Claus Klein wrote: Hi Peter, thanks for the commit. I will do my tests with this code again. But I have 2 more questions: It is possible to use Nina with Kdevelop and Eclipse generators too? And, too give more people a chance to test with ninja, is it possible to enable it at nightly builds for Windows and MAS-OS? I have not Qt develop tools installed on Windows. But I want the GUI ;-)) So it would be nice if I could download the nightly binaries. Claus On 02.06.2012, at 14:58, Peter Kümmel wrote: On 02.06.2012 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). But it breaks mingw, because ar.exe doesn't like single backslashes in the rsp file. With attached patch also mingw works. At least with -j1, otherwise there a access conflicts. I've no idea how other build systems handle this. Peter -- 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 -- 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 -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
I found the problem. Now Eclipse and Ninja works too. .-)) NinjaAddToEclipseGenerator.patch Description: Binary data //Regards Claus On 03.06.2012, at 12:15, Claus Klein wrote: Hi Peter, I have tried it myself, but with different luck. The Kdevelop works, but EclipseGenerator crashes while generating ... May you have a look at it? Claus On 02.06.2012, at 18:58, Claus Klein wrote: Hi Peter, thanks for the commit. I will do my tests with this code again. But I have 2 more questions: It is possible to use Nina with Kdevelop and Eclipse generators too? And, too give more people a chance to test with ninja, is it possible to enable it at nightly builds for Windows and MAS-OS? I have not Qt develop tools installed on Windows. But I want the GUI ;-)) So it would be nice if I could download the nightly binaries. Claus On 02.06.2012, at 14:58, Peter Kümmel wrote: On 02.06.2012 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). But it breaks mingw, because ar.exe doesn't like single backslashes in the rsp file. With attached patch also mingw works. At least with -j1, otherwise there a access conflicts. I've no idea how other build systems handle this. Peter -- 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 -- 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 -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Hi Peter, I have tried it myself, but with different luck. The Kdevelop works, but EclipseGenerator crashes while generating ... May you have a look at it? Claus NinjaAddToKdevelopGenerator.patch Description: Binary data NinjaAddToEclipseGenerator.patch Description: Binary data On 02.06.2012, at 18:58, Claus Klein wrote: Hi Peter, thanks for the commit. I will do my tests with this code again. But I have 2 more questions: It is possible to use Nina with Kdevelop and Eclipse generators too? And, too give more people a chance to test with ninja, is it possible to enable it at nightly builds for Windows and MAS-OS? I have not Qt develop tools installed on Windows. But I want the GUI ;-)) So it would be nice if I could download the nightly binaries. Claus On 02.06.2012, at 14:58, Peter Kümmel wrote: On 02.06.2012 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). But it breaks mingw, because ar.exe doesn't like single backslashes in the rsp file. With attached patch also mingw works. At least with -j1, otherwise there a access conflicts. I've no idea how other build systems handle this. Peter -- 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 -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
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! 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 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 NinjaUseResponseFile.patch Description: Binary data On 02.06.2012, at 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). Peter -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Hi Peter, thanks for the commit. I will do my tests with this code again. But I have 2 more questions: It is possible to use Nina with Kdevelop and Eclipse generators too? And, too give more people a chance to test with ninja, is it possible to enable it at nightly builds for Windows and MAS-OS? I have not Qt develop tools installed on Windows. But I want the GUI ;-)) So it would be nice if I could download the nightly binaries. Claus On 02.06.2012, at 14:58, Peter Kümmel wrote: On 02.06.2012 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). But it breaks mingw, because ar.exe doesn't like single backslashes in the rsp file. With attached patch also mingw works. At least with -j1, otherwise there a access conflicts. I've no idea how other build systems handle this. Peter -- 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
On 02.06.2012 12:03, Peter Kümmel wrote: Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). But it breaks mingw, because ar.exe doesn't like single backslashes in the rsp file. With attached patch also mingw works. At least with -j1, otherwise there a access conflicts. I've no idea how other build systems handle this. Peter diff --git a/src/graph.cc b/src/graph.cc index 3531e86..392722a 100644 --- a/src/graph.cc +++ b/src/graph.cc @@ -26,6 +26,8 @@ #include "state.h" #include "util.h" +#include + bool Node::Stat(DiskInterface* disk_interface) { METRIC_RECORD("node stat"); mtime_ = disk_interface->Stat(path_); @@ -252,7 +254,11 @@ string Edge::GetRspFile() { string Edge::GetRspFileContent() { EdgeEnv env(this); - return rule_->rspfile_content().Evaluate(&env); + string content = rule_->rspfile_content().Evaluate(&env); +#if _WIN32 + std::replace(content.begin(), content.end(), '\\', '/'); +#endif + return content; } bool Edge::LoadDepFile(State* state, DiskInterface* disk_interface, -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Hi Claus, great you've started working on this! I fixed your TODO and pusjed it to stage: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=242f152c392882c88c47f4bcc3dc52a3431d2968 CMake could now be build with msvc and mingw (when CMAKE_RC_COMPILER is set). Peter -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Hi Bill, I have tried to prepare a patch. It generates links rules like that: # Rule for linking CXX executable. rule CXX_EXECUTABLE_LINKER command = $PRE_LINK && /opt/local/libexec/ccache/g++ $FLAGS -Wl,- search_paths_first -Wl,-headerpad_max_install_names $LINK_FLAGS -Wl,@ $out.rsp -o $out $LINK_LIBRARIES && $POST_BUILD description = Linking CXX executable $out rspfile = $out.rsp rspfile_content = $in Please read carefully my comments, not all may be right now. It may used as a prototype. I dit basic test only, it works at least on win32 and on my macbook. Pleas check. Claus NinjaGeneratorBuildCommandLine.patch Description: Binary data NinjaUseResponseFile.patch Description: Binary data On 30.05.2012, at 19:50, Bill Hoffman wrote: 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.hoff...@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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
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.hoff...@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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
> > 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 -- NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
Hi Bill Yes send me the patches please Claus On 29.05.2012, at 23:12, Bill Hoffman wrote: > On 5/29/2012 4:00 PM, Claus Klein wrote: >> Hi All, >> >> I am working with Nightly cmake build with ninja enabled on windows. >> While testing a real complex project build, code generation and >> compiling works, but linking fails. >> >> The command line with a view pre and post build rules including a huge >> count of libs and linkerflags is to long. >> The hole link command is about 16K long! >> >> Could it possible to generate a custom rule for each $PRE_LINK and each >> $POST_BUILD command? >> And to use a linker script like with visual studio projects? >> >> The same project with visual studio 2005 generator works fine. >> > > Another reason the windows ninja is disabled by default... :) > > What ninja branch are you using? It needs to use response files. > > > This ninja adds the response files: > http://sourceforge.net/projects/cmakescript/files/ninja.exe/download > > 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 > -- > > 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 -- 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
Re: [CMake] Nina Generator on Windows generates too long link cmd lines
On 5/29/2012 4:00 PM, Claus Klein wrote: Hi All, I am working with Nightly cmake build with ninja enabled on windows. While testing a real complex project build, code generation and compiling works, but linking fails. The command line with a view pre and post build rules including a huge count of libs and linkerflags is to long. The hole link command is about 16K long! Could it possible to generate a custom rule for each $PRE_LINK and each $POST_BUILD command? And to use a linker script like with visual studio projects? The same project with visual studio 2005 generator works fine. Another reason the windows ninja is disabled by default... :) What ninja branch are you using? It needs to use response files. This ninja adds the response files: http://sourceforge.net/projects/cmakescript/files/ninja.exe/download 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 -- 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
[CMake] Nina Generator on Windows generates too long link cmd lines
Hi All, I am working with Nightly cmake build with ninja enabled on windows. While testing a real complex project build, code generation and compiling works, but linking fails. The command line with a view pre and post build rules including a huge count of libs and linkerflags is to long. The hole link command is about 16K long! Could it possible to generate a custom rule for each $PRE_LINK and each $POST_BUILD command? And to use a linker script like with visual studio projects? The same project with visual studio 2005 generator works fine. With Regard 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