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

2012-06-04 Thread Peter Kümmel

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

2012-06-04 Thread Bill Hoffman
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

2012-06-04 Thread Peter Kuemmel

 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

2012-06-03 Thread Claus Klein

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

2012-06-03 Thread Peter Kümmel

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

2012-06-03 Thread Peter Kümmel

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

2012-06-03 Thread Claus Klein

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

2012-06-03 Thread Claus Klein

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

2012-06-02 Thread Claus Klein

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

2012-06-02 Thread Claus Klein

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

2012-06-02 Thread Peter Kümmel

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

2012-06-02 Thread Peter Kümmel

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

2012-06-01 Thread Claus Klein

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

2012-05-30 Thread Bill Hoffman

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

2012-05-30 Thread Peter Kuemmel

> 
> 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

2012-05-29 Thread Claus Klein
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

2012-05-29 Thread Bill Hoffman

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

2012-05-29 Thread Claus Klein

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