[Qt5-feedback] Qt5's qmake

Peter Kümmel syntheticpp at gmx.net
Mon May 16 22:56:07 CEST 2011


On 12.05.2011 22:08, Aaron J. Seigo wrote:
> On Thursday, May 12, 2011 08:19:43 Charley Bay wrote:
>> My vote would be a new tool, from the ground-up, using greater heuristics,
>> emphasizing simple/clean project configuration definitions.
>
> A configuration tool that is cross platform and which has comprehensive
> support for the various needs of real world applications, both proprietary and
> open source, is not trivial to say the least.
>
> Also, I'm not sure Qt really needs to be in the business of creating and
> maintaining such a tool. There is enough else to be done.
>
> Instead of reinventing the wheel to little end, despite the allure of thinking
> we can do it better than anyone else has before us ;) , I highly recommend
> adopting a known, proven and widely used tool.
>
> This would save on human resources, communicate the "right" things as to Qt
> being open and not a NIH driven effort and allow existing knowledge that
> exists around such a tool to be repurposed.

But what ever you choose, when the tool already exists it doesn't fit 100% your needs.
I assume in the short it is maybe cheaper to re-event the wheel than to fight with
existing build systems.


A other approach which came to my mind is inspired by GCC:
     the difference between frontend/backend.

As frontend a new build language based on JS could be invented which fits all needs.
But then, as backend existing tools are used, for each job the best tool on the system.

There is a 'configure' and 'generator' step needed to get a 'compile-system':

configure     generator       compile-system
---------    -------------     --------------
autoconf      autotools          Makefile
cmake          cmake             Xcode
...              gyp           Visual Studio
                qmake             ninja
                  ...             nmake
                                   ...

So the idea is to support some tools to get the best results on one system, e.g:

configuring
- autotools for Unix
- cmake for Windows

generator
- gyp for XCode
- qmake for qtcreater
- cmake for MSVC

And for something special a new tool could be introduced.

This has the "advantage" not being forced to make a final decision to use
only one tool or to start over. New systems could be plugged-in others which
have proved wrong could be dropped and replaced by newer ones.

Peter





More information about the Qt5-feedback mailing list