[Qt5-feedback] What is the Qt view of targets, and is it the same as QtSDKs ?

Attila Csipa qt at csipa.in.rs
Wed Jun 15 12:30:55 CEST 2011


Foreword: target in context of platforms/output, not project management

Hi,

With recent discussions about the (non)availability of certain platform-
related qmake scopes/defines, I have this weird feeling of unclarity I would 
like to have resolved. I understand that for Qt, as an application framework, 
the goal is to produce a set of executables/libraries that leverage the Qt 
modules. The focus here is obviously on whether you want to make a GNU/Linux 
binary, a Win32 binary, etc. However, the QtSDK (to my mind) has a slightly 
different focus, with the output (in case of mobile platforms - for now) being 
*distribution*, *firmware*, or, implicitly even *device* specific packages. This 
latter goal is a lot newer and (in my impression) not entirely embraced. 

To expand on this - it has been said (or IRC, lists, etc) that the Maemo scope 
and defines are a hack and wrong because Maemo is not an OS but a specific case 
of the Linux target. That is philosophically true, but the point is that Linux 
distributions DO have specific code, it's just currently they completely bypass 
Qt/qmake for this and rather opt for the more universal upstream source 
tarball + diff approach. Is this where Qt is headed, too ? 

In my case, some of my Qt projects have reached a larger number of targets and 
special cases/optimizations (7+, with no sign of decreasing). Considering the 
huge amount of hacks that I need to do to produce packages ready for 
distribution without manual interentions in the build process (specifying 
'magic' qmake flags in particular targets). I'm actually tempted to keep  a low 
number of main branches (say, just mobile/desktop) and treat the rest through 
diffs and ditch the whole qmake scoping and Q_OS ifdeffing (the only thing that 
is holding me back is the lack of a Qt plugin that would highlight and auto-
apply the diffs when switching targets and level of the built-in git support).

Thoughts, comments, disagreements welcome.

PS. Disclaimer: I fully intend on making a blog post about this and the 
feedback I gather here :)

Best regards,
Attila


More information about the Qt5-feedback mailing list