[Development] Qt 5 file hierarchy
Thiago Macieira
thiago.macieira at intel.com
Mon Sep 24 13:57:50 CEST 2012
On segunda-feira, 24 de setembro de 2012 11.44.51, Knoll Lars wrote:
> >> We already had a solution here (discussed that with Brisbane some months
> >> ago). QML2 is the default, so it goes into imports/. For QML1 we have a
> >> Quick1/ subfolder in imports.
> >
> > That's not acceptable. The QtQuick1 & libQtDeclarative.so.5 hierarchy must
> > be the default because that's what people are using now. QML2 plugins
> > must be the ones in a different path.
>
> Actually we have Qt 4 and Qt 5. That's the bigger problem. C++ plugins for
> Quick1 are binary incompatible between Qt 4 and Qt 5. Within Qt5 the
> current approach works fine.
The Qt 4 plugins live in the Qt4 prefix. Existing practice is that it's
/usr/lib$SUFFIX/qt4/{plugins,imports}. So we don't clash with those.
Technically speaking, since we're changing to qt5 anyway, we could change the
default to be QtQuick2. But that means code using QtDeclarative and Qt Quick 1
must install to a different directory under imports, which is more change.
My proposal is to leave QtQuick 1 unchanged and establish a new hierarchy for
Qt Quick 2. Also note that the "share" dir I proposed does not include the
"qt5" name.
> > I think that goes against the purpose of QML. We've been suggesting to a
> > lot of people that they can write QML-based applications and solutions
> > without writing a single line of C++. I think we *want* to say that you
> > can install platform-independent solutions.
> >
> > I don't mind if the maintainers in QtQuick1 and QtQuick2 decide they want
> > to declare QML to follow the same rules as native code. It's really their
> > choice.
> So far that's what we've been saying. My main concern currently is
> implementability. If we keep it all in one folder, we don't need to do
> additional development. Otherwise we need to duplicate lookups and search
> paths. Please also note that some QML modules could be mixed QML and C++.
>
> In addition, we're currently doing some research here (more about that later
> and separately) on how to compile QML into byte code or even native code.
True, we could add the platform-independent search paths in a later release.
Also note that the search functionality is is implemented in QStandardPaths.
It already has the necessary logic.
> > -importsdir is a nonstandard option. I recommend we move the imports dir
> > into $prefix/lib/qt5 by default. On all platforms.
> >
> > Also note my proposal missed the plugins dir. I make the same
> > recommendation: move it into lib/qt5 by default.
>
> I'm personally fine with both. It also simplifies configuration (removes two
> options that we'd need to support), but I'd like to hear if someone sees
> any problems with moving these two dirs.
Me too.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
Intel Sweden AB - Registration Number: 556189-6027
Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120924/3717437c/attachment.sig>
More information about the Development
mailing list