[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