On 10.10.2011 11:03, [email protected] wrote:
> Hi Peter!
>
> I did just take a quick glance on your creator branch.
Hi Tobias,
thanks for having a look at the branch!
> Do you really need the "UseNinja" flag you introduced:
I'm not familiar with the QtCreator code, so chances are high
that there are better solutions.
I started with 'jom' integration and simply tried do the same with ninja.
But ninja is cross-platform, not only in for msvc, so I 'drifted away'.
> Isn't't it enough to just set up
> the makestep properly for ninja if cmake is generating a ninja-based
> configuration?
In the original code the selection of the make command is done by the Toolchain
subclasses,
so I first also build ninja into these subclasses, and then decoupled the code
into MakeCommand.
> That MakeStep will then just hold the ninja-call and everything should be
> fine.
Sounds like a much simpler solution. Then somehow MakeStep needs to know if
ninja is
used, and we would have stored the usage of ninja in
CMakeProjectManager::MakeStep or
AbstractProcessStep. But isn't it better to make MakeStep make-command agnostic?
> You can
> not switch between ninja/non-ninja anyway without rerunning cmake, can you?
Yes, the generator must mach for all following cmake runs.
> Why do you need the MakeCommand?
The make command is on the same level as the toolchain. This was the
reason why I tough introducing MakeCommand is a good idea. The toolchain
is about the compiler/headres/tools and you could use one toolchain with
severale build systems.
Imagine someone wants to add SCons support (because many interesting
projects use SCons), then the same toolchain would be used by scons files.
ToolChain and MakeCommand are 'orthogonal'.
> Can't you at least serialize that into the
> project configuration instead of a possible endless list of "UseXY"?
Did it the same way as UseJom, maybe not a good idea.
What about introducing a new enum { Make, Ninja, Jom } like is is done
for the toolchains in abi.h, and to rename .UseNinja into. MakeCommand?
Sure, the we would need a MakeCommandManager.
I have the impression aMakeCommand infrastructure is the cleanest solution.
Peter
_______________________________________________
Qt-creator mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-creator