Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2012-01-25 Thread Peter Collingbourne
On Tue, Jan 03, 2012 at 01:15:17AM +, Peter Collingbourne wrote:
 On Sat, Nov 12, 2011 at 02:36:04AM +, Peter Collingbourne wrote:
  Hi,
  
  These patches add the Ninja generator to CMake, which I am now
  proposing for inclusion in mainline.
 [...]
  This patch series is also available from my git repository:
  git://github.com/pcc/CMake.git ninja-generator-pr
 
 I've now updated the above repository with the changes suggested in
 this thread.
 
 Is there anything else required for this to be merged to next?

Ping.

Branch has been updated with miscellaneous fixes for Mac OS X bringing
the total number of test failures on a Mac down to 4.  I don't have
time to fix the rest (which mainly relate to the construction of
apps/bundles/frameworks) so I will leave this to anyone who cares
enough about OS X to fix.

Thanks,
-- 
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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2012-01-02 Thread Peter Collingbourne
On Sat, Nov 12, 2011 at 02:36:04AM +, Peter Collingbourne wrote:
 Hi,
 
 These patches add the Ninja generator to CMake, which I am now
 proposing for inclusion in mainline.
[...]
 This patch series is also available from my git repository:
 git://github.com/pcc/CMake.git ninja-generator-pr

I've now updated the above repository with the changes suggested in
this thread.

Is there anything else required for this to be merged to next?

Thanks,
-- 
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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-23 Thread Nicolas Desprès
2011/11/22 Peter Collingbourne pe...@pcc.me.uk

 On Fri, Nov 18, 2011 at 10:02:54AM +0100, Nicolas Desprès wrote:
  On Wed, Nov 16, 2011 at 3:05 PM, OKUMURA Yuki m...@cltn.org wrote:
 
   (Sorry Bill, i repost here..)
  
   2011/11/16 Bill Hoffman bill.hoff...@kitware.com:
   - snip -
What type of evolution will Ninja need?   I suppose it could use
 cmake
scripts and exectue_process which can do  type things pretty easy.
  
   Why not insert cmd /c everywhere? :)
   Anyway, i had tried this in early this month,
  
  
 https://github.com/okuoku/CMake/commit/db19df03606684f313c9e86b313218feee9cce3f
   but it didn't work well.

 How so?  Was there an escaping issue?  The cmd.exe documentation seems
 to indicate that this will work.


 http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx#EBG

  
   I think almost all use of  is just chdir /d $workdir 
   compile/link-command. So, adding $workdir
   specifier to target syntax of Ninja might work for many cases.
  
 
  That's right. I just had a look at the build.ninja file generated by the
  Ninja Generator and it actually uses  only for changing the working
  directory.  I will suggest a patch to Ninja to support working directory
  for each build statement.

 That's not the only thing that the Ninja generator uses  for.
 It also uses  to prepend/append PRE_BUILD, PRE_LINK and POST_BUILD
 commands to the link command, and to concatenate multiple custom
 command lines.


True. I realized that. Actually, it seems that cmd.exe have some sort of
support for  and || so maybe it would work. I have to try.

Cheers,

-- 
Nicolas Desprès
--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-22 Thread Alexander Neundorf
On Tuesday 22 November 2011, Peter Collingbourne wrote:
 On Tue, Nov 15, 2011 at 06:54:01PM +0100, Nicolas Desprès wrote:
  On Tue, Nov 15, 2011 at 5:29 PM, Bill Hoffman 
bill.hoff...@kitware.comwrote:
   On 11/11/2011 9:36 PM, Peter Collingbourne wrote:
Note that this generator is *nix only (it relies on POSIX shell

   functionality), and will only be built on *nix platforms.  I am not
   interested in Windows support, but I understand that others have
   expressed an interest in adding support.
   
How much of the POSIX shell stuff can be done with cmake -E stuff? 
It
   
   would be good to use as little POSIX stuff as possible as someday when
   someone does the inevitable windows port it is easier...
  
  Too much in my opinion. Specially the  operator of the shell. Using
  cmake -E is the first step. I am planning to suggest an evolution of
  Ninja to fix this issue. Actually, it is the main issue which stop me
  while writing the beginning of this generator.
 
 Other than  we also have:
 
 rm -f $file -- used to delete static library archives before rebuilding

cmake -E remove -f $file
 
 :   -- used as a no-op command

maybe
cmake -E echo

Alex
--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-16 Thread Bill Hoffman

On 11/16/2011 9:05 AM, OKUMURA Yuki wrote:

(Sorry Bill, i repost here..)

2011/11/16 Bill Hoffmanbill.hoff...@kitware.com:
- snip -

What type of evolution will Ninja need?   I suppose it could use cmake
scripts and exectue_process which can do  type things pretty easy.


Why not insert cmd /c everywhere? :)
Anyway, i had tried this in early this month,
https://github.com/okuoku/CMake/commit/db19df03606684f313c9e86b313218feee9cce3f
but it didn't work well.

I think almost all use of  is just chdir /d $workdir
compile/link-command. So, adding $workdir
specifier to target syntax of Ninja might work for many cases.

-- oku

Are there some examples of what people are doing with ninja on windows 
for other projects?


-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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-15 Thread Bill Hoffman

On 11/11/2011 9:36 PM, Peter Collingbourne wrote:


Note that this generator is *nix only (it relies on POSIX shell
functionality), and will only be built on *nix platforms.  I am not
interested in Windows support, but I understand that others have
expressed an interest in adding support.

How much of the POSIX shell stuff can be done with cmake -E stuff?  It 
would be good to use as little POSIX stuff as possible as someday when 
someone does the inevitable windows port it is easier...


-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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-15 Thread Nicolas Desprès
On Tue, Nov 15, 2011 at 5:29 PM, Bill Hoffman bill.hoff...@kitware.comwrote:

 On 11/11/2011 9:36 PM, Peter Collingbourne wrote:

  Note that this generator is *nix only (it relies on POSIX shell
 functionality), and will only be built on *nix platforms.  I am not
 interested in Windows support, but I understand that others have
 expressed an interest in adding support.

  How much of the POSIX shell stuff can be done with cmake -E stuff?  It
 would be good to use as little POSIX stuff as possible as someday when
 someone does the inevitable windows port it is easier...


Too much in my opinion. Specially the  operator of the shell. Using cmake
-E is the first step. I am planning to suggest an evolution of Ninja to fix
this issue. Actually, it is the main issue which stop me while writing the
beginning of this generator.

Cheers,

-- 
Nicolas Desprès
--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Re: [cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-15 Thread Bill Hoffman

On 11/15/2011 12:54 PM, Nicolas Desprès wrote:


Too much in my opinion. Specially the  operator of the shell. Using
cmake -E is the first step. I am planning to suggest an evolution of
Ninja to fix this issue. Actually, it is the main issue which stop me
while writing the beginning of this generator.
Cheers,



What type of evolution will Ninja need?   I suppose it could use cmake 
scripts and exectue_process which can do  type things pretty easy.


-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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] [PATCH 0/3] The CMake Ninja generator.

2011-11-11 Thread Peter Collingbourne
Hi,

These patches add the Ninja generator to CMake, which I am now
proposing for inclusion in mainline.  The generator should work
with the current 'master' branch of Ninja from:

https://github.com/martine/ninja

The generator passes the CMake test suite on Linux (Debian testing)
and FreeBSD 9.0-RC1, and I have been regularly using it myself with
LLVM and Clang for about 2 months.  I have also successfully tested it
with the build systems for OpenCV, Bullet Physics, BRL-CAD, kdelibs
and Path64.

Some performance numbers for no-op builds (2.0GHz dual core laptop,
Debian testing):

CMake:
Unix Makefiles: 0.6s
Ninja:  0.042s

kdelibs:
Unix Makefiles: 9.8s
Ninja:  2.5s [1]

LLVM/Clang/Polly:
Unix Makefiles: 2.9s
Ninja:  0.18s

BRL-CAD:
Unix Makefiles: 19s
Ninja:  0.40s

Path64:
Unix Makefiles: 3.9s
Ninja:  0.25s

Note that this generator is *nix only (it relies on POSIX shell
functionality), and will only be built on *nix platforms.  I am not
interested in Windows support, but I understand that others have
expressed an interest in adding support.

I made some minor changes to the ExternalProject module as well as
some of the tests to make them work with the generator, and added
explanations for those changes as comments.

I separated out the changes to kwsys, so that they can be applied
separately.

This patch series is also available from my git repository:
git://github.com/pcc/CMake.git ninja-generator-pr

Please review!

Thanks,
-- 
Peter

[1] The disproportionately large Ninja run time here seems to be
caused by a large number of required invocations of the 'automoc'
command.

--

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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers