[CMake] Ninja: a small build system closest in spirit to Make

Bill Hoffman bill.hoffman at kitware.com
Mon Feb 14 15:39:35 EST 2011


On 2/14/2011 3:37 PM, Jean-Christophe Fillion-Robin wrote:
> Last night, I started a topic named "ninja-generator" on my github ...
> see https://github.com/jcfr/CMake/tree/ninja-generator
>
> Right now, I just copied all the file related to CMakefile generator and
> named using the "Ninja" prefix.
>
> Is that the right approach ? Comment from "CMake Internals" experts are
> welcome :)
>
> Thanks

This should move to the cmake-developers mailing list.

-Bill

> Jc
>
> On Sun, Feb 13, 2011 at 12:19 PM, Caner Candan <caner at candan.fr
> <mailto:caner at candan.fr>> wrote:
>
>     You are followed :) great job!
>
>     On Sat, Feb 12, 2011 at 2:15 PM, Jean-Christophe Fillion-Robin
>     <jchris.fillionr at kitware.com <mailto:jchris.fillionr at kitware.com>>
>     wrote:
>      > I forked the original ninja project on my github and cmake'ified it.
>      >
>      > It successfully compile on linux [ubuntu 10.04, g++ (Ubuntu
>     4.4.3-4ubuntu5)
>      > 4.4.3]
>      >
>      > Note that both In and Out-of-source built are handled properly.
>      >
>      > See https://github.com/jcfr/ninja topic branch: cmakeified-project
>      >
>      >
>      > git clone git://github.com/jcfr/ninja.git
>     <http://github.com/jcfr/ninja.git>
>      > mkdir ninja-build
>      > cd ninja-build
>      > cmake ../ninja && make
>      >
>      >
>      >
>      >
>      > I also added the option BUILD_TESTING, by default enabled.
>      >
>      > Running ctest, a test named "LongSlowBuild" will proceed.
>      > This test invoke the following command:
>      >   ninja -f <SRC>/misc/long-slow-build.ninja all
>      >
>      > The associated dashboard is available on my.cdash.org
>     <http://my.cdash.org>.
>      > See http://my.cdash.org/index.php?project=ninja
>      >
>      >
>      >
>      > I submitted some experimentals dashboards ...
>      >   - Linux: build and test pass
>      >   - Windows: doesn't compile. See
>      > http://my.cdash.org/buildSummary.php?buildid=155950
>      >
>      > ... and also setup a nightly for both windows and linux.
>     (Template dashboard
>      > script here)
>      >
>      > Note that I fix some of the windows error. Changes are in the topic
>      > fix-windows-build of github.com:jcfr/ninja.git
>      >
>      > Most of the remaining errors are listed here:
>      > http://my.cdash.org/viewBuildError.php?buildid=156132
>      >
>      > Thks
>      > Jc
>      >
>      > On Fri, Feb 11, 2011 at 9:59 PM, Clifford Yapp
>     <cliffyapp at gmail.com <mailto:cliffyapp at gmail.com>> wrote:
>      >>
>      >> We could start with the CMakeLists.txt file :-).
>      >>
>      >> It doesn't want to do an out of source dir build either, have to see
>      >> why...
>      >>
>      >> On Fri, Feb 11, 2011 at 9:58 AM, David Cole
>     <david.cole at kitware.com <mailto:david.cole at kitware.com>>
>      >> wrote:
>      >> >
>      >> > 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... :-)
>      >> >
>      >> >
>      >> > cmake_minimum_required(VERSION 2.8)
>      >> > project(ninja)
>      >> >
>      >> > set(ninja_lib_sources
>      >> >   src/build.cc
>      >> >   src/build_log.cc
>      >> >   src/eval_env.cc
>      >> >   src/graph.cc
>      >> >   src/parsers.cc
>      >> >   src/subprocess.cc
>      >> >   src/util.cc
>      >> >   src/ninja_jumble.cc
>      >> > )
>      >> > add_library(ninjaLib STATIC ${ninja_lib_sources})
>      >> >
>      >> > add_executable(ninja src/ninja.cc)
>      >> > target_link_libraries(ninja ninjaLib)
>      >> >
>      >> >
>      >> > Cheers,
>      >> > David
>      >> >
>      >> >
>      >> > _______________________________________________
>      >> > Powered by www.kitware.com <http://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 <http://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
>      >
>      >
>      >
>      > --
>      > Direct: 1-518-836-2174
>      > Ext: 304
>      >
>      > _______________________________________________
>      > Powered by www.kitware.com <http://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
>      >
>
>
>
>
> --
> Direct: 1-518-836-2174
> Ext: 304
>
>
>
> _______________________________________________
> 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


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


More information about the CMake mailing list