chili-epfl / qimchi

Modular QML framework for AR, robotics and tangible interfaces
1 stars 4 forks source link

Consider deploying our qml plugins into /qtdir/qml/ insead of ../imports/ #12

Closed ayberkozgur closed 10 years ago

ayberkozgur commented 10 years ago

We should consider deploying our own qml plugins into the official qml directory of qt (which is /qt-dir/<version>/<platform>/qml) instead of a build directory like imports/ for maximum cross-platform comfort. There is no requirement for desktop, but currently the Android qmake must find qml plugins at build time in order to bundle them into the apk. This approach also works for desktop without any change at all.

Only problem with this is that it is not sandboxed. It would be ideal if we could deploy in a custom build directory that we could indicate as another "official" qml plugin import directory. See http://qt-project.org/forums/viewthread/47667/.

For now, we should probably just deploy to the official qml directory and warn the user in the README.

qbonnard commented 10 years ago

That was also the conclusion I drew from my experiments with android deployment. What do you mean by "sandboxed". On my machine, Qt 5.3 is installed in ~/Qt/5.3 (actually, I also have a ~Qt/5.2 which is independent from the system Qt 5.2 from Ubuntu's packages). QtCreator is configured to use these installations (probably because QtCreator is also in ~/Qt/Tools), and qmake can use the $$[QT_INSTALL_QML]variable to refer to it. Does that help ?

ayberkozgur commented 10 years ago

By sandboxed I mean installed in a root that is completely separate from the Qt installation/build trees. This will allow us to not mess with the Qt installation/build and test our independent qml plugins in a separate root, and nuke this root without thinking twice (i.e rm -rf *) if our build goes out of hand.

Referring to the original directory in the Qt installation/build directory does not help, as we need to be able to do something like QT_INSTALL_QML += /our/qml/plugin/install/root/. Is that possible?

qbonnard commented 10 years ago

Not that I know of... At least via Qt, without using some unionFS trickery ;)

On Mon, Sep 22, 2014 at 3:13 PM, Ayberk Özgür notifications@github.com wrote:

By sandboxed I mean installed in a root that is completely separate from the Qt installation/build trees. This will allow us to not mess with the Qt installation/build and test our independent qml plugins in a separate root, and nuke this root without thinking twice (i.e rm -rf *) if our build goes out of hand.

Referring to the original directory in the Qt installation/build directory does not help, as we need to be able to do something like QT_INSTALL_QML += /our/build/root/. Is that possible?

— Reply to this email directly or view it on GitHub https://github.com/chili-epfl/qimchi/issues/12#issuecomment-56370194.

ayberkozgur commented 10 years ago

Currently, make install does this. User programs can then use the modules normally like any other QML plugin.