summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorHeikkinen Miikka <miikka.heikkinen@digia.com>2013-05-22 09:49:28 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-05-22 10:12:28 +0300
commitabf0d5005e357dd2fe59ccf02412687f72e56cb5 (patch)
tree00d421bf283728f936693d280b2469cb027d342c /tests
parente2eb16a7c3b113365d1de6a9d5c04b7d31147432 (diff)
Fix qml application deployment for android
Change-Id: I5a693f3ca7d6110505f8e6d276f53825e1a5961b Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/tst_qml.cpp8
-rw-r--r--tests/qmlchartaxis/main.cpp8
-rw-r--r--tests/qmlchartproperties/main.cpp8
-rw-r--r--tests/quick2chartproperties/main.cpp7
-rw-r--r--tests/tests.pri20
5 files changed, 48 insertions, 3 deletions
diff --git a/tests/auto/qml/tst_qml.cpp b/tests/auto/qml/tst_qml.cpp
index 841070c6..1ec19acf 100644
--- a/tests/auto/qml/tst_qml.cpp
+++ b/tests/auto/qml/tst_qml.cpp
@@ -20,6 +20,7 @@
#include <QtTest/QtTest>
#include <QDeclarativeEngine>
#include <QDeclarativeComponent>
+#include <QDir>
#include "tst_definitions.h"
class tst_QML : public QObject
@@ -126,7 +127,12 @@ void tst_QML::checkPlugin()
{
QFETCH(QString, source);
QDeclarativeEngine engine;
- engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports")));
+#ifdef Q_OS_ANDROID
+ engine.addImportPath(QString::fromLatin1("assets:/imports"));
+ engine.addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib")));
+#else
+ engine.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports")));
+#endif
QDeclarativeComponent component(&engine);
component.setData(source.toLatin1(), QUrl());
QVERIFY2(!component.isError(), qPrintable(componentErrors(&component)));
diff --git a/tests/qmlchartaxis/main.cpp b/tests/qmlchartaxis/main.cpp
index f298f305..dddac9a5 100644
--- a/tests/qmlchartaxis/main.cpp
+++ b/tests/qmlchartaxis/main.cpp
@@ -20,13 +20,19 @@
#include <QApplication>
#include <QDeclarativeEngine>
+#include <QDir>
#include "qmlapplicationviewer.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create());
- viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports")));
+#ifdef Q_OS_ANDROID
+ viewer->addImportPath(QString::fromLatin1("assets:/imports"));
+ viewer->engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib")));
+#else
+ viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports")));
+#endif
// // viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer->setSource(QUrl("qrc:/qml/qmlchartaxis/main.qml"));
diff --git a/tests/qmlchartproperties/main.cpp b/tests/qmlchartproperties/main.cpp
index bf99ea4b..50ad6a4f 100644
--- a/tests/qmlchartproperties/main.cpp
+++ b/tests/qmlchartproperties/main.cpp
@@ -20,13 +20,19 @@
#include <QApplication>
#include <QDeclarativeEngine>
+#include <QDir>
#include "qmlapplicationviewer.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QScopedPointer<QApplication> app(createApplication(argc, argv));
QScopedPointer<QmlApplicationViewer> viewer(QmlApplicationViewer::create());
- viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QLatin1String("imports")));
+#ifdef Q_OS_ANDROID
+ viewer->addImportPath(QString::fromLatin1("assets:/imports"));
+ viewer->engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib")));
+#else
+ viewer->addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("imports")));
+#endif
// // viewer->setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer->setSource(QUrl("qrc:/qml/qmlchartproperties/loader.qml"));
diff --git a/tests/quick2chartproperties/main.cpp b/tests/quick2chartproperties/main.cpp
index 099d7a75..07a0b260 100644
--- a/tests/quick2chartproperties/main.cpp
+++ b/tests/quick2chartproperties/main.cpp
@@ -20,6 +20,8 @@
#include <QtWidgets/QApplication>
#include <QtQuick/QQuickItem>
+#include <QDir>
+#include <QtQml/QQmlEngine>
#include "qtquick2applicationviewer.h"
int main(int argc, char *argv[])
@@ -27,7 +29,12 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
+#ifdef Q_OS_ANDROID
+ viewer.addImportPath(QString::fromLatin1("assets:/qml"));
+ viewer.engine()->addPluginPath(QString::fromLatin1("%1/../%2").arg(QDir::homePath(), QString::fromLatin1("lib")));
+#else
viewer.addImportPath(QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), QString::fromLatin1("qml")));
+#endif
viewer.setSource(QUrl("qrc:/qml/quick2chartproperties/main.qml"));
viewer.showExpanded();
diff --git a/tests/tests.pri b/tests/tests.pri
index 85e07054..662cdcab 100644
--- a/tests/tests.pri
+++ b/tests/tests.pri
@@ -12,3 +12,23 @@ RCC_DIR = $$CHART_BUILD_DIR/tests/$$TARGET
# staticlib config causes problems when building executables
staticlib: CONFIG-=staticlib
+
+android {
+ # Workaround to fix android deployment, which seems to always look for target in
+ # OUT_PWD instead of DESTDIR.
+ QMAKE_POST_LINK += $$QMAKE_COPY $$CHART_BUILD_BIN_DIR/lib$${TARGET}.so $$OUT_PWD/lib$${TARGET}.so
+
+ contains(TARGET, qml.*) {
+ charts_qmldir.files = $$CHART_BUILD_QML_PLUGIN_DIR/qmldir
+ charts_qmldir.path = /assets/imports/QtCommercial/Chart
+ charts_qmlplugin.files = $$CHART_BUILD_QML_PLUGIN_DIR/libqtcommercialchartqml.so
+ charts_qmlplugin.path = /libs/$$ANDROID_TARGET_ARCH
+ INSTALLS += charts_qmldir charts_qmlplugin
+ } else:contains(TARGET, quick2.*) {
+ charts_qmldir.files = $$CHART_BUILD_QML2_PLUGIN_DIR/qmldir
+ charts_qmldir.path = /assets/qml/QtCommercial/Chart
+ charts_qmlplugin.files = $$CHART_BUILD_QML2_PLUGIN_DIR/libqtcommercialchartqml2.so
+ charts_qmlplugin.path = /libs/$$ANDROID_TARGET_ARCH
+ INSTALLS += charts_qmldir charts_qmlplugin
+ }
+}