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