On 3/23/2011 9:47 AM, Nicolas Desprès wrote:
Hello everyone,

This weekend I started to work on a new generator for Ninja.  I did
not know the internal architecture of CMake so I spent most of my time
understanding how it works. I have the very little beginning of
something in a local topic branch. It is not able to bootstrap a
simple helloworld project yet. I have attached a git log and a git log
-p of what I have done so far. Not so much but I will work on it more
next weekend.

Also, I have few questions about CMake internal architecture. I don't
really understand how global and local generator work together? Where
should I put my code? in the global or in the local one? I have taken
most of the inspiration from the UnixMakefile generator but the Ninja
generator has on major difference: Ninja is not design to work in a
recursive form. I did some experiment and all the automatic step
counting of Ninja does not make sense in a recursive approach. So, I
think I should put all my code only in the global generator and
generate only one build.ninja file per project.

You should not put all the code in the global generator. I would think it would be better to model it after the VS2010 generator, which is more target based. You still need the local/global generators, but the local generator just cycles over the targets that are in that directory. So, look at cmGlobalVisualStudio10Generator.cxx cmLocalVisualStudio10Generator.cxx cmVisualStudio10TargetGenerator.cxx.

-Bill

_______________________________________________
cmake-developers mailing list
[email protected]
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to