<div class="gmail_quote">On Fri, Feb 11, 2011 at 9:17 AM, Matt Williams <span dir="ltr"><<a href="mailto:lists@milliams.com">lists@milliams.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Thursday 10 Feb 2011 14:38:55 Nicolas Desprès wrote:<br>
> Hi everyone,<br>
><br>
> Probably some of you are already aware of this new open-source project<br>
> coming from a Chrome developer at Google.<br>
><br>
> Its goal was to improve the build system performance of the Chrome<br>
> project. So it is designed to be a fast replacement for make.<br>
><br>
> He speaks about it in its blog here:<br>
><br>
> <a href="http://neugierig.org/software/chromium/notes/2011/02/ninja.html" target="_blank">http://neugierig.org/software/chromium/notes/2011/02/ninja.html</a><br>
><br>
> You can find the source code here:<br>
><br>
> <a href="https://github.com/martine/ninja" target="_blank">https://github.com/martine/ninja</a><br>
><br>
> and the manual here:<br>
><br>
> <a href="http://martine.github.com/ninja/manual.html" target="_blank">http://martine.github.com/ninja/manual.html</a><br>
><br>
> As mentioned in the documentation the input file for ninja are not<br>
> designed to be written by hand and should be generated. So it<br>
> perfectly fits in CMake generator approach to build system.<br>
><br>
> Maybe it worth adding a new generator for Ninja in CMake. I don't<br>
> know about the maturity/stability of the project, though it is still<br>
> very young (started in last October but still maintained today<br>
> according to the git log). Also, if it is internally used at Google<br>
> for the Chrome project, I think it is not going to die.<br>
><br>
> I will try to find some time on my spare time to start writing a<br>
> generator for it. Helps is welcome too :-) I would like to see if it<br>
> really increases build time of project already using CMake, such as<br>
> boost or KDE.<br>
<br>
</div>I would be very interested to see this. I think we all now that in many ways<br>
'make' is showing its age. Without tools like CMake supporting Ninja it will<br>
have a hard time catching on. I don't really have to time to devote to<br>
developing the generator but I would be very happy to test it on a number of<br>
CMake projects I'm involved with.<br>
<br>
Do we know if Ninja is supposed to be cross-platform (i.e. Windows) as well?<br>
<br>
Regards,<br>
<font color="#888888">Matt<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</div></div></blockquote></div><br><br>I tried compiling it on Windows yesterday with just the following CMakeLists.txt file, and there were a bunch of compile errors. It shouldn't be too hard to make it work on Windows, though, if Mr. Martin will accept some patches for it... :-)<br>
<br><br>cmake_minimum_required(VERSION 2.8)<br>project(ninja)<br><br>set(ninja_lib_sources<br> src/build.cc<br> src/build_log.cc<br> src/eval_env.cc<br> src/graph.cc<br> src/parsers.cc<br> src/subprocess.cc<br> src/util.cc<br>
src/ninja_jumble.cc<br>)<br>add_library(ninjaLib STATIC ${ninja_lib_sources})<br><br>add_executable(ninja src/ninja.cc)<br>target_link_libraries(ninja ninjaLib)<br><br><br>Cheers,<br>David<br><br>