[Qt5-feedback] Qt5's qmake

Peter Kümmel syntheticpp at gmx.net
Mon May 16 23:43:40 CEST 2011


On 16.05.2011 23:38, Pau Garcia i Quiles wrote:
> On Mon, May 16, 2011 at 10:56 PM, Peter Kümmel<syntheticpp at gmx.net>  wrote:
>
>> 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.
>
> Seems to me that would lead to loads of different quirks and errors on
> different platforms, and needing to learn several backends to make
> sure you know what happens behind the scenes.
>
> Which is exactly the same argument I (and people from Kitware) used
> when other (additional) languages were proposed for CMake: allowing
> several languages effectively means everybody needs to learn every
> single one of those languages in order to be proficient with the tool.

The idea was to only have one "frontend" language all the other languages
are not visible to the user. He only uses one language. Controlling the
backend tools is done by the proposed meta-build-system.

Peter


More information about the Qt5-feedback mailing list