diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-04-11 16:39:22 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2018-04-19 10:10:30 +0000 |
commit | 22595bcb6f37f187d84984c17dfcb5dbbe866ff3 (patch) | |
tree | 64e669cef2108b6bac51e63d4ac9cb2dcac17576 /qt3dstudio.pro | |
parent | c3158e0c43b580e30e510f6f19cba285f6862356 (diff) |
Add deployment for viewer 2.0 to deployqt target
Also removed deployment from mingw, as we don't build studio
for mingw or provide installer based on mingw.
Task-number: QT3DS-1348
Change-Id: I0e8f40a9d3e9e8259ce00f39a8563885325fe0c3
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'qt3dstudio.pro')
-rw-r--r-- | qt3dstudio.pro | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/qt3dstudio.pro b/qt3dstudio.pro index 7eb9367d..47625ccb 100644 --- a/qt3dstudio.pro +++ b/qt3dstudio.pro @@ -17,10 +17,10 @@ load(qt_parts) # 'deployqt' target can be used to automatically copy necessary Qt libraries needed by studio # applications. DEPLOY_DIR environment variable must point to the directory where -# Qt3DStudio and Qt3DViewer executables/application bundles are found. +# Qt3DStudio and Qt3DViewer executables/application bundles are installed to. # The required Qt libraries are copied into that directory/bundles. !build_pass|!debug_and_release { - macos|win32 { + !mingw:win32|macos { macos { deploytool = macdeployqt exesuffix = .app @@ -35,7 +35,8 @@ load(qt_parts) # deploy the missing qml bits separately. # Viewer 1.0 needs the studio qml plugin - debug_and_release|CONFIG(release, debug|release) { + # The assumption is that we are deploying release build in case both are built + release { QML_FILE_R = QtStudio3D/declarative_qtstudio3d.dll QMAKE_EXTRA_TARGETS += deployReleaseQml deployTarget.depends += deployReleaseQml @@ -43,8 +44,7 @@ load(qt_parts) deployReleaseQml.commands = \ $$QMAKE_COPY $$shell_quote($$shell_path($$OUT_PWD/qml/$$QML_FILE_R)) \ $$shell_quote($$shell_path(\$(DEPLOY_DIR)/$$QML_FILE_R)) - } - debug_and_release|CONFIG(debug, debug|release) { + } else { QML_FILE_D = QtStudio3D/declarative_qtstudio3dd.dll QMAKE_EXTRA_TARGETS += deployDebugQml deployTarget.depends += deployDebugQml @@ -71,17 +71,45 @@ load(qt_parts) qtPrepareTool(DEPLOY_TOOL, $$deploytool) - deployTarget.target = deployqt deployTarget.commands = \ $$DEPLOY_TOOL $$shell_quote(\$(DEPLOY_DIR)/Qt3DStudio$${exesuffix}) \ -qmldir=$$shell_quote($$PWD/src/Authoring/Studio/Palettes) $$EXTRA_DEPLOY_OPTIONS macos { + # Viewer 1.0 deployTarget.commands += && \ $$DEPLOY_TOOL $$shell_quote(\$(DEPLOY_DIR)/Qt3DViewer$${exesuffix}) \ -qmldir=$$shell_quote($$PWD/src/Viewer/Qt3DViewer) } - QMAKE_EXTRA_TARGETS += deployTarget + greaterThan(QT_MAJOR_VERSION, 5)|greaterThan(QT_MINOR_VERSION, 10) { + # Viewer 2.0 + win32 { + # Viewer 2.0 has similar issues with dependent library naming as viewer 1.0, + # but it only has one library that is causing problems and no qml (so far), + # so lets just copy the problem lib over to where windeployqt can find it, + # i.e. under Qt's bin dir. This pollutes the Qt's bin dir a bit, but as the main + # use case for this is gathering installer content in CI after everything is + # already built, this shouldn't be a problem. + release { + RUNTIME2_LIB = Qt53DStudioRuntime2.dll + } else { + RUNTIME2_LIB = Qt53DStudioRuntime2d.dll + } + QMAKE_EXTRA_TARGETS += copyRuntime2 + deployTarget.depends += copyRuntime2 + copyRuntime2.commands = \ + $$QMAKE_COPY $$shell_quote($$shell_path( \ + $$OUT_PWD/src/Runtime/qt3d-runtime/bin/$$RUNTIME2_LIB)) \ + $$shell_quote($$shell_path($$[QT_INSTALL_BINS]/$$RUNTIME2_LIB)) + } + deployTarget.commands += && \ + $$DEPLOY_TOOL $$shell_quote(\$(DEPLOY_DIR)/q3dsviewer$${exesuffix}) + } + } else { + # Create a dummy target for other platforms + deployTarget.commands = @echo deployqt target is not supported for this platform. } + deployTarget.target = deployqt + QMAKE_EXTRA_TARGETS += deployTarget } |