diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/examples.pri | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/examples/examples.pri b/examples/examples.pri index ca91aad0..aca85733 100644 --- a/examples/examples.pri +++ b/examples/examples.pri @@ -19,10 +19,18 @@ TEMPLATE = app QT += datavisualization +!static:android { + # Add Qt library to be loaded in shared android build + vis_lib_name = DataVisualization + vis_src_lib = lib$${vis_lib_name}.so + vis_lib_dir = $$OUT_PWD/../../lib/$$vis_src_lib + vis_lib_formatted = $$replace(vis_lib_dir, /, $$QMAKE_DIR_SEP) + ANDROID_EXTRA_LIBS = $$vis_lib_formatted +} + contains(TARGET, qml.*) { uri = QtDataVisualization lib_name = datavisualizationqml2 - vis_lib_name = DataVisualization uri_replaced = $$replace(uri, \\., $$QMAKE_DIR_SEP) make_qmldir_path = $$DESTDIR/$$uri_replaced @@ -37,28 +45,45 @@ contains(TARGET, qml.*) { QMAKE_EXTRA_TARGETS += copy_qmldir PRE_TARGETDEPS += $$copy_qmldir.target + static:contains(QT_CONFIG, static) { + # Make import scan find our copied qmldir & statically built qml lib + LIB_EXTENSION = lib + QMLPATHS += $$DESTDIR + # We need to copy the qmldir & lib already at qmake run stage as import scan is done then + exists($$copy_qmldir.depends): system($$QMAKE_COPY $$copy_qmldir_formatted) + } else { + win32 { + LIB_EXTENSION = dll + } else { + mac { + LIB_EXTENSION = dylib + } else { + LIB_EXTENSION = so + } + } + } + win32 { CONFIG(debug, release|debug) { src_dir = debug - src_lib = $${lib_name}d.dll + src_lib = $${lib_name}d.$$LIB_EXTENSION } CONFIG(release, release|debug){ src_dir = release - src_lib = $${lib_name}.dll + src_lib = $${lib_name}.$$LIB_EXTENSION } } else { src_dir = . mac { CONFIG(debug, release|debug) { - src_lib = lib$${lib_name}_debug.dylib + src_lib = lib$${lib_name}_debug.$$LIB_EXTENSION } CONFIG(release, release|debug){ - src_lib = lib$${lib_name}.dylib + src_lib = lib$${lib_name}.$$LIB_EXTENSION } } else { # linux, android - src_lib = lib$${lib_name}.so - vis_src_lib = lib$${vis_lib_name}.so + src_lib = lib$${lib_name}.$$LIB_EXTENSION } } copy_lib.target = $$make_qmldir_path/$$src_lib @@ -70,14 +95,15 @@ contains(TARGET, qml.*) { android { system($$QMAKE_COPY $$copy_qmldir_formatted) - system($$QMAKE_COPY $$copy_lib_formatted) android_qmldir.files = $$copy_qmldir.target android_qmldir.path = /assets/qml/$$uri_replaced - android_qmlplugin.files = $$copy_lib.target - android_qmlplugin.path = $$target.path - vis_lib_dir = $$OUT_PWD/../../lib/$$vis_src_lib - vis_lib_formatted = $$replace(vis_lib_dir, /, $$QMAKE_DIR_SEP) - ANDROID_EXTRA_LIBS = $$vis_lib_formatted - INSTALLS += android_qmldir android_qmlplugin + INSTALLS += android_qmldir + # No need to do custom install for qml plugin lib when it is statically built into app + !static|!contains(QT_CONFIG, static) { + system($$QMAKE_COPY $$copy_lib_formatted) + android_qmlplugin.files = $$copy_lib.target + android_qmlplugin.path = $$target.path + INSTALLS += android_qmlplugin + } } } |