diff options
-rw-r--r-- | README | 50 | ||||
-rw-r--r-- | quick3d.pro | 4 | ||||
-rw-r--r-- | src/imports/shapes/shapes.pro | 40 | ||||
-rw-r--r-- | src/imports/threed/threed.pro | 40 | ||||
-rw-r--r-- | src/plugins/sceneformats/3ds/3ds.pro | 24 | ||||
-rw-r--r-- | src/plugins/sceneformats/assimp/assimp.pro | 26 | ||||
-rw-r--r-- | src/plugins/sceneformats/bezier/bezier.pro | 24 | ||||
-rw-r--r-- | src/plugins/sceneformats/obj/obj.pro | 21 | ||||
-rw-r--r-- | src/quick3d/quick3d.pro | 29 | ||||
-rw-r--r-- | src/quick3d/quick3d.pro.orig | 111 | ||||
-rw-r--r-- | src/quick3d/quick3d.pro.rej | 28 | ||||
-rw-r--r-- | src/scripts/Setup.exe | bin | 0 -> 11938581 bytes | |||
-rw-r--r-- | src/scripts/build_mac_package.sh | 125 | ||||
-rw-r--r-- | src/scripts/build_win_package.nsi | 321 | ||||
-rw-r--r-- | src/scripts/qtquick3d.ico | bin | 0 -> 51262 bytes | |||
-rw-r--r-- | src/scripts/windows-install.rtf | bin | 0 -> 486 bytes | |||
-rw-r--r-- | src/threed/threed.pro | 11 | ||||
-rw-r--r-- | util/meshcvt/meshcvt.pro | 7 | ||||
-rw-r--r-- | util/qglinfo/qglinfo.pro | 24 | ||||
-rw-r--r-- | util/util.pro | 3 |
20 files changed, 829 insertions, 59 deletions
@@ -43,3 +43,53 @@ Documentation The documentation can be generated with "make docs". It will be placed into "doc/html" in the build directory. + + +Packages +======== + +This section is only for those developing QtQuick3D. Read on to discover how +the building of packages works. This section is also important if you want to +change how the structure of the QtQuick3D pro files work. + +QtQuick3D is intended to be built in one of two ways: + +1) Normal developer way: + qmake && make +2) Package creation way: + qmake CONFIG+=package && INSTALL_ROOT=tmp make install + +In 1) the .pro files will cause the toolchain to place the libraries, plugins +header files and other components of QtQuick3D directly into place, as part of +the compile process. What does "in place" mean? Run "qmake -query" to see +the paths where the files are placed - QML plugins go in $$[QT_INSTALL_IMPORTS] +for example. In this mode, there is no need to run "make install" because the +files are already in their target destination. Here the "target destination" +means the Qt which is being built against. + +First note that QtQuick3D has to be installed into the target Qt. This is because +QtQuick3D has QML plugins and resources, as well as shared libraries, all of which +must be resolved by the QMLViewer of the target Qt at runtime. Here where "qmake" +is referred to it means the qmake inside the target Qt. Since QtDeclarative +recommends using QMLViewer when developing and debugging QML Apps, in the developer +case - which is what Qt3D is for - it has to install directly into the target Qt. + +In this mode 1) after the main library is compiled subsequent targets can simply +resolve includes and link time dependencies by use of qt3d.prf and qtquick3d.prf. +These two files are installed into the target Qt's makespecs/features directory +during the processing of the quick3d.pro file. + +In 2) the libraries, plugins and so on are sitting inside the build tree after +the compile step. As a result in order to resolve includes and dependencies +the build system has to navigate the build tree with paths like "-L../../../threed" +to locate the Qt3D libraries. + +Actually there is one build artifact that is not just left where it lands in the +build tree - the header files. These are actually copied into an "include" +directory inside the build root directory. This is because at present the header +files all live inside their own seperate subdirectories under "threed" and would +be too cumbersome to path in explicitly. + +After building the tree the install step is invoked using the INSTALL_ROOT environment +export to cause the installation rules to place all the files into a sandboxed +install tree, ready for packaging. diff --git a/quick3d.pro b/quick3d.pro index aad3aeb40..56f7c4f8c 100644 --- a/quick3d.pro +++ b/quick3d.pro @@ -4,6 +4,10 @@ SUBDIRS += src !package: SUBDIRS += tests CONFIG += ordered +package { + !maemo*: SUBDIRS -= examples demos +} + include(doc/doc.pri) # We need opengl, minimum es2 or desktop diff --git a/src/imports/shapes/shapes.pro b/src/imports/shapes/shapes.pro index 833b66e84..8ae1f0bde 100644 --- a/src/imports/shapes/shapes.pro +++ b/src/imports/shapes/shapes.pro @@ -1,12 +1,35 @@ TEMPLATE = lib TARGET = qshapesqmlplugin -CONFIG += qt plugin qt3dquick +CONFIG += qt plugin +# See the README in the root dir re this code package { - LIBS += -L../../quick3d -L../../threed -lQt3D -lQt3DQuick - INCLUDEPATH += ../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../../threed + LIBS += -framework Qt3DQuick -F../../quick3d + INCLUDEPATH += ../../threed/Qt3D.framework/Versions/1/Headers + INCLUDEPATH += ../../quick3d/Qt3DQuick.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + LIBS += ..\\..\\threed\\debug\\Qt3Dd.lib + LIBS += ..\\..\\quick3d\\debug\\Qt3DQuickd.lib + } else { + LIBS += ..\\..\\threed\\release\\Qt3D.lib + LIBS += ..\\..\\quick3d\\release\\Qt3DQuick.lib + } + } else { + LIBS += -L../../threed -lQt3D + LIBS += -L../../quick3d -lQt3DQuick + } + INCLUDEPATH += ../../../include/Qt3D + INCLUDEPATH += ../../../include/Qt3DQuick + } + target.path += $$[QT_INSTALL_IMPORTS]/Qt3D/Shapes + INSTALLS += target + QT += declarative } else { - CONFIG += qt3dquick + CONFIG += qt3dquick qt3d DESTDIR = $$[QT_INSTALL_IMPORTS]/Qt3D/Shapes } @@ -58,10 +81,7 @@ qdeclarativesources.files += \ qdeclarative_in_place.CONFIG += no_link_no_clean qdeclarative_in_place.variable_out = PRE_TARGETDEPS QMAKE_EXTRA_COMPILERS += qdeclarative_in_place +} else { + qdeclarativesources.path += $$[QT_INSTALL_IMPORTS]/Qt3D/Shapes + INSTALLS += qdeclarativesources } - -qdeclarativesources.path += $$[QT_INSTALL_IMPORTS]/Qt3D/Shapes - -target.path += $$[QT_INSTALL_IMPORTS]/Qt3D/Shapes - -INSTALLS += qdeclarativesources target diff --git a/src/imports/threed/threed.pro b/src/imports/threed/threed.pro index c759bedab..d20c7d351 100644 --- a/src/imports/threed/threed.pro +++ b/src/imports/threed/threed.pro @@ -2,11 +2,34 @@ TEMPLATE = lib TARGET = qthreedqmlplugin CONFIG += qt plugin +# See the README in the root dir re this code package { - LIBS += -L../../threed -L../../quick3d -lQt3D -lQt3DQuick - INCLUDEPATH += ../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../../threed + LIBS += -framework Qt3DQuick -F../../quick3d + INCLUDEPATH += ../../threed/Qt3D.framework/Versions/1/Headers + INCLUDEPATH += ../../quick3d/Qt3DQuick.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + LIBS += ..\\..\\threed\\debug\\Qt3Dd.lib + LIBS += ..\\..\\quick3d\\debug\\Qt3DQuickd.lib + } else { + LIBS += ..\\..\\threed\\release\\Qt3D.lib + LIBS += ..\\..\\quick3d\\release\\Qt3DQuick.lib + } + } else { + LIBS += -L../../threed -lQt3D + LIBS += -L../../quick3d -lQt3DQuick + } + INCLUDEPATH += ../../../include/Qt3D + INCLUDEPATH += ../../../include/Qt3DQuick + } + target.path += $$[QT_INSTALL_IMPORTS]/Qt3D + INSTALLS += target + QT += declarative opengl } else { - CONFIG += qt3d qt3dquick + CONFIG += qt3dquick qt3d DESTDIR = $$[QT_INSTALL_IMPORTS]/Qt3D } @@ -25,8 +48,6 @@ symbian { TARGET.CAPABILITY = All -Tcb } } -QT += declarative opengl network -#VERSION = 1.0.0 SOURCES += \ threed.cpp \ @@ -56,10 +77,7 @@ qdeclarativesources.files += \ qdeclarative_in_place.CONFIG += no_link_no_clean qdeclarative_in_place.variable_out = PRE_TARGETDEPS QMAKE_EXTRA_COMPILERS += qdeclarative_in_place +} else { + qdeclarativesources.path += $$[QT_INSTALL_IMPORTS]/Qt3D + INSTALLS += qdeclarativesources } - -qdeclarativesources.path += $$[QT_INSTALL_IMPORTS]/Qt3D - -target.path += $$[QT_INSTALL_IMPORTS]/Qt3D - -INSTALLS += qdeclarativesources target diff --git a/src/plugins/sceneformats/3ds/3ds.pro b/src/plugins/sceneformats/3ds/3ds.pro index 9ac5c8bca..acb5cb479 100644 --- a/src/plugins/sceneformats/3ds/3ds.pro +++ b/src/plugins/sceneformats/3ds/3ds.pro @@ -10,9 +10,26 @@ SOURCES += main.cpp \ qgl3dsscenehandler.cpp \ qgl3dsmesh.cpp +# See the README in the root dir re this code package { - LIBS += -L$$PWD/../threed -lQt3D - INCLUDEPATH += ../../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../threed + INCLUDEPATH += ../../../threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + TARGET = $$member(TARGET, 0)d + LIBS += ..\\..\\..\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\..\\..\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../../../threed -lQt3D + } + INCLUDEPATH += ../../../../include/Qt3D + } + target.path = $$[QT_INSTALL_PLUGINS]/sceneformats] + INSTALLS += target } else { CONFIG += qt3d DESTDIR = $$[QT_INSTALL_PLUGINS]/sceneformats @@ -30,6 +47,3 @@ system_3ds { } else { include(../../../../3rdparty/lib3ds/lib3ds.pri) } - -target.path += $$[QT_INSTALL_PLUGINS]/sceneformats -INSTALLS += target diff --git a/src/plugins/sceneformats/assimp/assimp.pro b/src/plugins/sceneformats/assimp/assimp.pro index 04ccab285..1d10cba88 100644 --- a/src/plugins/sceneformats/assimp/assimp.pro +++ b/src/plugins/sceneformats/assimp/assimp.pro @@ -14,14 +14,34 @@ SOURCES += main.cpp \ ailoaderiostream.cpp \ ailoaderiosystem.cpp +# See the README in the root dir re this code package { - LIBS += -L$$PWD/../../../threed -lQt3D - INCLUDEPATH += ../../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../threed + INCLUDEPATH += ../../../threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + TARGET = $$member(TARGET, 0)d + LIBS += ..\\..\\..\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\..\\..\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../../../threed -lQt3D + } + INCLUDEPATH += ../../../../include/Qt3D + } + target.path = $$[QT_INSTALL_PLUGINS]/sceneformats + INSTALLS += target } else { CONFIG += qt3d DESTDIR = $$[QT_INSTALL_PLUGINS]/sceneformats } +# suppress warnings about std::copy using unsafe parameters +win32: DEFINES +=_SCL_SECURE_NO_WARNINGS + system_ai { !isEmpty(QMAKE_INCDIR_AI):INCLUDEPATH += $$QMAKE_INCDIR_AI !isEmpty(QMAKE_LIBDIR_AI):LIBS += -L$$QMAKE_LIBDIR_AI @@ -35,5 +55,3 @@ system_ai { include(../../../../3rdparty/assimp/assimp.pri) } -target.path += $$[QT_INSTALL_PLUGINS]/sceneformats -INSTALLS += target diff --git a/src/plugins/sceneformats/bezier/bezier.pro b/src/plugins/sceneformats/bezier/bezier.pro index cd9e7adbc..80ba11e33 100644 --- a/src/plugins/sceneformats/bezier/bezier.pro +++ b/src/plugins/sceneformats/bezier/bezier.pro @@ -7,13 +7,27 @@ SOURCES += main.cpp \ qglbezierscene.cpp \ qglbezierscenehandler.cpp +# See the README in the root dir re this code package { - LIBS += -L$$PWD/../../../threed -lQt3D - INCLUDEPATH += ../../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../threed + INCLUDEPATH += ../../../threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + TARGET = $$member(TARGET, 0)d + LIBS += ..\\..\\..\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\..\\..\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../../../threed -lQt3D + } + INCLUDEPATH += ../../../../include/Qt3D + } + target.path = $$[QT_INSTALL_PLUGINS]/sceneformats + INSTALLS += target } else { CONFIG += qt3d DESTDIR = $$[QT_INSTALL_PLUGINS]/sceneformats } - -target.path += $$[QT_INSTALL_PLUGINS]/sceneformats -INSTALLS += target diff --git a/src/plugins/sceneformats/obj/obj.pro b/src/plugins/sceneformats/obj/obj.pro index 03e33e8dd..d967834f9 100644 --- a/src/plugins/sceneformats/obj/obj.pro +++ b/src/plugins/sceneformats/obj/obj.pro @@ -7,9 +7,26 @@ SOURCES += main.cpp \ qglobjscene.cpp \ qglobjscenehandler.cpp +# See the README in the root dir re this code package { - LIBS += -L$$PWD/../threed -lQt3D - INCLUDEPATH += ../../../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../threed + INCLUDEPATH += ../../../threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + TARGET = $$member(TARGET, 0)d + LIBS += ..\\..\\..\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\..\\..\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../../../threed -lQt3D + } + INCLUDEPATH += ../../../../include/Qt3D + } + target.path = $$[QT_INSTALL_PLUGINS]/sceneformats + INSTALLS += target } else { CONFIG += qt3d DESTDIR = $$[QT_INSTALL_PLUGINS]/sceneformats diff --git a/src/quick3d/quick3d.pro b/src/quick3d/quick3d.pro index aa8d6e4a6..53f49fd57 100644 --- a/src/quick3d/quick3d.pro +++ b/src/quick3d/quick3d.pro @@ -10,11 +10,25 @@ gcov { QT += declarative +# See the README in the root dir re this code package { + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../threed + INCLUDEPATH += ../threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + LIBS += ..\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../threed -lQt3D + } + INCLUDEPATH += ../../include/Qt3D + } target.path = $$[QT_INSTALL_LIBS] INSTALLS += target - LIBS += -L$$PWD/../threed -lQt3D - INCLUDEPATH += ../../include QT += opengl network } else { CONFIG += qt3d @@ -22,9 +36,14 @@ package { } win32 { - DLLDESTDIR = ../../bin !static:DEFINES += QT_MAKEDLL - + package { + installDll.path = $$[QT_INSTALL_BINS] + installDll.files = $$DESTDIR_TARGET + INSTALLS += installDll + } else { + DLLDESTDIR = $$[QT_INSTALL_BINS] + } CONFIG(debug, debug|release) { TARGET = $$member(TARGET, 0)d } @@ -79,7 +98,7 @@ macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { } else { exportHeaders.input = PUBLIC_HEADERS package { - exportHeaders.output = ../../include/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} + exportHeaders.output = ../../include/Qt3DQuick/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} } else { exportHeaders.output = $$[QT_INSTALL_HEADERS]/Qt3DQuick/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} } diff --git a/src/quick3d/quick3d.pro.orig b/src/quick3d/quick3d.pro.orig new file mode 100644 index 000000000..80300a101 --- /dev/null +++ b/src/quick3d/quick3d.pro.orig @@ -0,0 +1,111 @@ +TEMPLATE = lib +TARGET = Qt3DQuick$${QT_LIBINFIX} +gcov { + CONFIG += staticlib warn_on + QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage + QMAKE_LFLAGS += -fprofile-arcs -ftest-coverage +} else { + CONFIG += dll warn_on +} + +QT += declarative + +package { + target.path = $$[QT_INSTALL_LIBS] + INSTALLS += target + !win32: LIBS += -L$$PWD/../threed -lQt3D + INCLUDEPATH += ../../include + QT += opengl network +} else { + CONFIG += qt3d + DESTDIR = $$[QT_INSTALL_LIBS] +} + +win32 { + DLLDESTDIR = ../../bin + !static:DEFINES += QT_MAKEDLL + + CONFIG(debug, debug|release) { + TARGET = $$member(TARGET, 0)d + package: LIBS += ..\\threed\\debug\\Qt3Dd.lib + } else { + package: LIBS += ..\\threed\\release\\Qt3D.lib + } +} + +symbian { + DEFINES += QT_MAKEDLL + CONFIG += epocallowdlldata + MMP_RULES += EXPORTUNFROZEN + contains(QT_EDITION, OpenSource) { + TARGET.CAPABILITY = LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData + } else { + TARGET.CAPABILITY = All -Tcb + } +} + +include(quick3d.pri) + +PUBLIC_HEADERS = $$HEADERS +HEADERS += $$PRIVATE_HEADERS +DEFINES += QT_BUILD_QT3D_QUICK_LIB + +!contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL + +INSTALL_HEADERS = "" +for(hdr, PUBLIC_HEADERS) { + found_vdir = $$PWD + for(vdir, VPATH) { + found_vdir = $$vdir + exists($$found_vdir/$$hdr):break() + } + INSTALL_HEADERS += $$found_vdir/$$hdr +} + +package { + distInstalls.files = $$PUBLIC_HEADERS + distInstalls.path = $$[QT_INSTALL_HEADERS]/Qt3DQuick + INSTALLS += distInstalls +} + +# If Qt has been configured to build frameworks, then the build witll put +# the Qt3DQuick library into a framework bundle, so put the headers in the bundle +# as well. Other OS's, or mac without frameworks, install the headers into +# the Qt build tree directly. +macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + QMAKE_LFLAGS_SONAME = -Wl,-install_name,$$DESTDIR/ + CONFIG += lib_bundle + FRAMEWORK_HEADERS.version = Versions + FRAMEWORK_HEADERS.path = Headers + FRAMEWORK_HEADERS.files = $$INSTALL_HEADERS + QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS +} else { + exportHeaders.input = PUBLIC_HEADERS + package { + exportHeaders.output = ../../include/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} + } else { + exportHeaders.output = $$[QT_INSTALL_HEADERS]/Qt3DQuick/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} + } + exportHeaders.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + exportHeaders.CONFIG += no_link_no_clean + exportHeaders.variable_out = PRE_TARGETDEPS + QMAKE_EXTRA_COMPILERS += exportHeaders +} + +symbian { + load(data_caging_paths) + + qt3dMwHeaders = *.h + for (api, qt3dMwHeaders) { + entries=$$files($$api); + #files() attaches a ';' at the end which needs to be removed + entries=$$replace(entries, ;,) + for (entry, entries) { + exists($$entry) { + contains(PUBLIC_HEADERS, $$basename(entry)) { + BLD_INF_RULES.prj_exports += "$$entry $$MW_LAYER_PUBLIC_EXPORT_PATH(Qt3DQuick/$$basename(entry))" + } + } + } + } +} diff --git a/src/quick3d/quick3d.pro.rej b/src/quick3d/quick3d.pro.rej new file mode 100644 index 000000000..3e9e583e0 --- /dev/null +++ b/src/quick3d/quick3d.pro.rej @@ -0,0 +1,28 @@ +*************** +*** 11,20 **** + QT += declarative + + package { + target.path = $$[QT_INSTALL_LIBS] + INSTALLS += target +- LIBS += -L$$PWD/../threed -lQt3D +- INCLUDEPATH += ../../include + QT += opengl network + } else { + CONFIG += qt3d +--- 11,25 ---- + QT += declarative + + package { ++ macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { ++ LIBS += -framework Qt3D -F../threed ++ INCLUDEPATH += ../threed/Qt3D.framework/Versions/1/Headers ++ } else { ++ LIBS += -L../threed -lQt3D ++ INCLUDEPATH += ../../Qt3D/include ++ } + target.path = $$[QT_INSTALL_LIBS] + INSTALLS += target + QT += opengl network + } else { + CONFIG += qt3d diff --git a/src/scripts/Setup.exe b/src/scripts/Setup.exe Binary files differnew file mode 100644 index 000000000..ff3531690 --- /dev/null +++ b/src/scripts/Setup.exe diff --git a/src/scripts/build_mac_package.sh b/src/scripts/build_mac_package.sh new file mode 100644 index 000000000..e045a84a2 --- /dev/null +++ b/src/scripts/build_mac_package.sh @@ -0,0 +1,125 @@ +#!/bin/bash + +set -e + +APP=ethex2040 + +APP_BUNDLE=${APP}.app + +SRC=$(dirname $0) + +if [[ -z "${QTDIR}" ]]; then + echo "Please ensure the \$QTDIR env var is set, eg" + echo "export QTDIR=/Library/Frameworks" +fi + +if [[ -z "$1" ]]; then + echo "Usage: build_bundle.sh 1.2.3" + echo "(where 1.2.3 is the version number)" + exit 1; +fi + +if [[ ! -f ${SRC}/${APP}.pro ]]; then + echo "Could not find ${APP}.pro in ${SRC}." + echo "This script should be in the ${APP} source tree." + echo "Run this script from the root of the ${APP} build tree, eg:" + echo "cd ~/build/${APP}" + echo "../../src/${APP}/build_bundle.sh 1.2.3" + exit 1; +fi + +VER=$1 + +RELEASE_DIR="../${APP}-${VER}" + +rm -R -f ${RELEASE_DIR} + +mkdir -p ${RELEASE_DIR} + +rm -R -f ${APP_BUNDLE} + +echo "Attempting to build ${APP_BUNDLE}..." +qmake -makefile -spec macx-g++ -config release ${SRC}/${APP}.pro +make clean +make + +# First we create a Frameworks directory inside the bundle. This follows +# the Mac OS X application convention. We then copy the frameworks into +# the new directory. Since frameworks contain symbolic links, and we want +# to preserve them, we use the -R option. + +mkdir -p ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Versions/4 +mkdir -p ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Contents +cp -v ${QTDIR}/QtCore.framework/Versions/4/QtCore \ + ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Versions/4 +cp -v ${QTDIR}/QtCore.framework/Contents/Info.plist \ + ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Contents +(cd ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Versions \ + && ln -s 4 4.0 && ln -s 4 Current) +(cd ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework \ + && ln -s Versions/4/QtCore) + +mkdir -p ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Versions/4 +mkdir -p ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Contents +cp -v ${QTDIR}/QtGui.framework/Versions/4/QtGui \ + ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Versions/4 +cp -v ${QTDIR}/QtGui.framework/Contents/Info.plist \ + ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Contents +(cd ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Versions \ + && ln -s 4 4.0 && ln -s 4 Current) +(cd ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework \ + && ln -s Versions/4/QtGui) + +# Then we run install_name_tool to set the identification names for the +# frameworks. The first argument after -id is the new name, and the second +# argument is the framework which identification we wish to change. The +# text @executable_path is a special dyld variable telling dyld to start +# looking where the executable is located. The new names specifies that +# these frameworks will be located "one directory up and over" in the +# Frameworks directory. + +install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + ${APP_BUNDLE}/Contents/Frameworks/QtCore.framework/Versions/4/QtCore +install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ + ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Versions/4/QtGui + +# Now, the dynamic linker knows where to look for QtCore and QtGui. Then we +# must make the application aware of the library locations as well using +# install_name_tool's -change mode. This basically comes down to string replacement, +# to match the identification names that we set for the frameworks. + +install_name_tool -change QtCore.framework/Versions/4/QtCore \ + @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + ${APP_BUNDLE}/Contents/MacOS/${APP} +install_name_tool -change QtGui.framework/Versions/4/QtGui \ + @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \ + ${APP_BUNDLE}/Contents/MacOS/${APP} + +# Finally, since the QtGui framework depends on QtCore, we must remember to +# change the references for it: + +install_name_tool -change QtCore.framework/Versions/4/QtCore \ + @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \ + ${APP_BUNDLE}/Contents/Frameworks/QtGui.framework/Versions/4/QtGui + +# This command should list the new dependencies for the application, which should +# all be localized to the bundle. +echo "Check that the dependencies as shown by otool are all in the bundle" +otool -L ${APP_BUNDLE}/Contents/MacOS/${APP} + +rm -R -f ${RELEASE_DIR}/${APP_BUNDLE} +mv ${APP_BUNDLE} ${RELEASE_DIR} +cp ${SRC}/README.html ${RELEASE_DIR} +(cd ${RELEASE_DIR} && ln -s -f /Applications) + +echo "Bundle completed in ${RELEASE_DIR}" + +make distclean + +DMG="../${APP}-${VER}.dmg" + +# echo "New distributable ready in ${DMG}" + +echo "Trying to use hdiutil to make a self deploying disk image" +hdiutil create -srcfolder ${RELEASE_DIR} ${DMG} +hdiutil internet-enable -yes ${DMG} diff --git a/src/scripts/build_win_package.nsi b/src/scripts/build_win_package.nsi new file mode 100644 index 000000000..b97300788 --- /dev/null +++ b/src/scripts/build_win_package.nsi @@ -0,0 +1,321 @@ +; Script generated by the HM NIS Edit Script Wizard. + +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "QtQuick3D" +!define PRODUCT_VERSION "1.0-tp1" +!define PRODUCT_PUBLISHER "Nokia" +!define PRODUCT_WEB_SITE "http://qt.nokia.com" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\qglinfo.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "qtquick3d.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!insertmacro MUI_PAGE_WELCOME +; License page +!insertmacro MUI_PAGE_LICENSE "..\..\LICENSE.LGPL" +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!define MUI_FINISHPAGE_RUN "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "Setup.exe" +InstallDir "$PROGRAMFILES\QtQuick3D" +InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR\Qt\4.7.2\bin" + SetOverwrite try + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\bin\qglinfo.exe" + CreateDirectory "$SMPROGRAMS\QtQuick3D" + CreateShortCut "$SMPROGRAMS\QtQuick3D\QtQuick3D.lnk" "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" + CreateShortCut "$DESKTOP\QtQuick3D.lnk" "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" + SetOutPath "$INSTDIR\Qt\4.7.2\imports\Qt3D" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\library.xml" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\qglinfo.exe" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\qmldir" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\qthreedqmlplugind.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\qthreedqmlplugind.pdb" + SetOutPath "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\cube.obj" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\Cube.qml" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\library.xml" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\qmldir" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\qshapesqmlplugind.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\qshapesqmlplugind.pdb" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\quad.obj" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\Quad.qml" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\teapot.bez" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\imports\Qt3D\Shapes\Teapot.qml" + SetOutPath "$INSTDIR\Qt\4.7.2\include\Qt3D" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qareaallocator.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qarray.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qbox3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qcolor4ub.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qcustomdataarray.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgeometrydata.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglabstracteffect.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglabstractmaterial.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglabstractscene.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglabstractsurface.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglattributedescription.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglattributeset.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglattributevalue.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglbezierpatches.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglbuilder.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcamera.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcameraanimation.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcolladafxeffect.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcolladafxeffectfactory.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcolladafxeffectloader.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcolormaterial.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcube.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglcylinder.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgldome.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglframebufferobjectsurface.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglgraphicsviewportitem.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglindexbuffer.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgllightmodel.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgllightparameters.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglmaterial.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglmaterialcollection.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglnamespace.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglpainter.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglpicknode.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglpixelbuffersurface.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglrenderorder.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglrenderordercomparator.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglrendersequencer.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglrenderstate.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglsceneformatplugin.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglscenenode.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglshaderprogrameffect.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglsphere.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglsubsurface.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglteapot.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgltexture2d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgltexturecube.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgltwosidedmaterial.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglvertexbundle.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglview.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qglwidgetsurface.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicsbillboardtransform.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicsembedscene.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicsrotation3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicsscale3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicstransform3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qgraphicstranslation3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qlogicalvertex.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qmatrix4x4stack.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qopenglfunctions.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qplane3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qray3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qsphere3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qt3dglobal.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qtriangle3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qvector2darray.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qvector3darray.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3D\qvector4darray.h" + SetOutPath "$INSTDIR\Qt\4.7.2\include\Qt3DQuick" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3DQuick\qdeclarativeeffect.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3DQuick\qdeclarativeitem3d.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3DQuick\qdeclarativemesh.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3DQuick\qdeclarativeviewport.h" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\include\Qt3DQuick\qt3dquickglobal.h" + SetOutPath "$INSTDIR\Qt\4.7.2\lib" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3Dd.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3Dd.lib" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3Dd.pdb" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3DQuickd.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3DQuickd.lib" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\lib\Qt3DQuickd.pdb" + SetOutPath "$INSTDIR\Qt\4.7.2\mkspecs\features" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\mkspecs\features\qt3d.prf" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\mkspecs\features\qt3dquick.prf" + SetOutPath "$INSTDIR\Qt\4.7.2\plugins\imageformats" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\imageformats\qtgad4.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\imageformats\qtgad4.pdb" + SetOutPath "$INSTDIR\Qt\4.7.2\plugins\sceneformats" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\sceneformats\qsceneaidd4.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\sceneformats\qsceneaidd4.pdb" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\sceneformats\qscenebezierdd4.dll" + File "..\..\..\..\..\build\qt\quick3d\tmp\Qt\4.7.2\plugins\sceneformats\qscenebezierdd4.pdb" +SectionEnd + +Section -AdditionalIcons + SetOutPath $INSTDIR + WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" + CreateShortCut "$SMPROGRAMS\QtQuick3D\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\QtQuick3D\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + Abort +FunctionEnd + +Section Uninstall + Delete "$INSTDIR\${PRODUCT_NAME}.url" + Delete "$INSTDIR\uninst.exe" + Delete "$INSTDIR\Qt\4.7.2\plugins\sceneformats\qscenebezierdd4.pdb" + Delete "$INSTDIR\Qt\4.7.2\plugins\sceneformats\qscenebezierdd4.dll" + Delete "$INSTDIR\Qt\4.7.2\plugins\sceneformats\qsceneaidd4.pdb" + Delete "$INSTDIR\Qt\4.7.2\plugins\sceneformats\qsceneaidd4.dll" + Delete "$INSTDIR\Qt\4.7.2\plugins\imageformats\qtgad4.pdb" + Delete "$INSTDIR\Qt\4.7.2\plugins\imageformats\qtgad4.dll" + Delete "$INSTDIR\Qt\4.7.2\mkspecs\features\qt3dquick.prf" + Delete "$INSTDIR\Qt\4.7.2\mkspecs\features\qt3d.prf" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3DQuickd.pdb" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3DQuickd.lib" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3DQuickd.dll" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3Dd.pdb" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3Dd.lib" + Delete "$INSTDIR\Qt\4.7.2\lib\Qt3Dd.dll" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3DQuick\qt3dquickglobal.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3DQuick\qdeclarativeviewport.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3DQuick\qdeclarativemesh.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3DQuick\qdeclarativeitem3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3DQuick\qdeclarativeeffect.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qvector4darray.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qvector3darray.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qvector2darray.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qtriangle3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qt3dglobal.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qsphere3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qray3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qplane3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qopenglfunctions.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qmatrix4x4stack.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qlogicalvertex.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicstranslation3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicstransform3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicsscale3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicsrotation3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicsembedscene.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgraphicsbillboardtransform.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglwidgetsurface.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglview.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglvertexbundle.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgltwosidedmaterial.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgltexturecube.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgltexture2d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglteapot.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglsubsurface.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglsphere.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglshaderprogrameffect.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglscenenode.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglsceneformatplugin.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglrenderstate.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglrendersequencer.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglrenderordercomparator.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglrenderorder.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglpixelbuffersurface.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglpicknode.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglpainter.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglnamespace.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglmaterialcollection.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglmaterial.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgllightparameters.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgllightmodel.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglindexbuffer.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglgraphicsviewportitem.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglframebufferobjectsurface.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgldome.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcylinder.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcube.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcolormaterial.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcolladafxeffectloader.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcolladafxeffectfactory.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcolladafxeffect.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcameraanimation.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglcamera.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglbuilder.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglbezierpatches.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglattributevalue.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglattributeset.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglattributedescription.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglabstractsurface.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglabstractscene.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglabstractmaterial.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qglabstracteffect.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qgeometrydata.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qcustomdataarray.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qcolor4ub.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qbox3d.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qarray.h" + Delete "$INSTDIR\Qt\4.7.2\include\Qt3D\qareaallocator.h" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\Teapot.qml" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\teapot.bez" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\Quad.qml" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\quad.obj" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\qshapesqmlplugind.pdb" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\qshapesqmlplugind.dll" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\qmldir" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\library.xml" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\Cube.qml" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes\cube.obj" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\qthreedqmlplugind.pdb" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\qthreedqmlplugind.dll" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\qmldir" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\qglinfo.exe" + Delete "$INSTDIR\Qt\4.7.2\imports\Qt3D\library.xml" + Delete "$INSTDIR\Qt\4.7.2\bin\qglinfo.exe" + + Delete "$SMPROGRAMS\QtQuick3D\Uninstall.lnk" + Delete "$SMPROGRAMS\QtQuick3D\Website.lnk" + Delete "$DESKTOP\QtQuick3D.lnk" + Delete "$SMPROGRAMS\QtQuick3D\QtQuick3D.lnk" + + RMDir "$SMPROGRAMS\QtQuick3D" + RMDir "$INSTDIR\Qt\4.7.2\plugins\sceneformats" + RMDir "$INSTDIR\Qt\4.7.2\plugins\imageformats" + RMDir "$INSTDIR\Qt\4.7.2\mkspecs\features" + RMDir "$INSTDIR\Qt\4.7.2\lib" + RMDir "$INSTDIR\Qt\4.7.2\include\Qt3DQuick" + RMDir "$INSTDIR\Qt\4.7.2\include\Qt3D" + RMDir "$INSTDIR\Qt\4.7.2\imports\Qt3D\Shapes" + RMDir "$INSTDIR\Qt\4.7.2\imports\Qt3D" + RMDir "$INSTDIR\Qt\4.7.2\bin" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd
\ No newline at end of file diff --git a/src/scripts/qtquick3d.ico b/src/scripts/qtquick3d.ico Binary files differnew file mode 100644 index 000000000..b3b85e37b --- /dev/null +++ b/src/scripts/qtquick3d.ico diff --git a/src/scripts/windows-install.rtf b/src/scripts/windows-install.rtf Binary files differnew file mode 100644 index 000000000..e9c5f43de --- /dev/null +++ b/src/scripts/windows-install.rtf diff --git a/src/threed/threed.pro b/src/threed/threed.pro index 9333eb4f1..cb16d7743 100644 --- a/src/threed/threed.pro +++ b/src/threed/threed.pro @@ -18,9 +18,14 @@ package { } win32 { - DLLDESTDIR = ../../bin !static:DEFINES += QT_MAKEDLL - + package { + installDll.path = $$[QT_INSTALL_BINS] + installDll.files = $$DESTDIR_TARGET + INSTALLS += installDll + } else { + DLLDESTDIR = $$[QT_INSTALL_BINS] + } CONFIG(debug, debug|release) { TARGET = $$member(TARGET, 0)d } @@ -74,7 +79,7 @@ macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { } else { exportHeaders.input = PUBLIC_HEADERS package { - exportHeaders.output = ../../include/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} + exportHeaders.output = ../../include/Qt3D/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} } else { exportHeaders.output = $$[QT_INSTALL_HEADERS]/Qt3D/${QMAKE_FILE_IN_BASE}${QMAKE_FILE_EXT} } diff --git a/util/meshcvt/meshcvt.pro b/util/meshcvt/meshcvt.pro index b49ba1422..53f336af5 100644 --- a/util/meshcvt/meshcvt.pro +++ b/util/meshcvt/meshcvt.pro @@ -1,11 +1,6 @@ TARGET = meshcvt -package { - LIBS += -L../../src/threed -lQt3D - INCLUDEPATH += ../../include -} else { - CONFIG += qt3d -} +CONFIG += qt3d SOURCES += \ meshcvt.cpp \ diff --git a/util/qglinfo/qglinfo.pro b/util/qglinfo/qglinfo.pro index 65298e898..ea277e25b 100644 --- a/util/qglinfo/qglinfo.pro +++ b/util/qglinfo/qglinfo.pro @@ -6,8 +6,23 @@ SOURCES += main.cpp \ fpswidget.cpp package { - LIBS += -L../../src/threed -lQt3D - INCLUDEPATH += ../../include + macx:CONFIG(qt_framework, qt_framework|qt_no_framework) { + LIBS += -framework Qt3D -F../../src/threed + INCLUDEPATH += ../../src/threed/Qt3D.framework/Versions/1/Headers + } else { + win32 { + CONFIG(debug, debug|release) { + LIBS += ..\\..\\src\\threed\\debug\\Qt3Dd.lib + } else { + LIBS += ..\\..\\src\\threed\\release\\Qt3D.lib + } + } else { + LIBS += -L../../src/threed -lQt3D + } + INCLUDEPATH += ../../include/Qt3D + } + target.path += $$[QT_INSTALL_BINS] + INSTALLS += target QT += opengl } else { CONFIG += qt3d @@ -24,8 +39,3 @@ HEADERS += qglinfowindow.h \ RESOURCES += qglinfo.qrc !contains(QT_CONFIG, egl):DEFINES += QT_NO_EGL - -package { - target.path = $$[QT_INSTALL_BINS] - INSTALLS += target -} diff --git a/util/util.pro b/util/util.pro index a8b85bce4..2fbd43f7b 100644 --- a/util/util.pro +++ b/util/util.pro @@ -1,2 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = meshcvt qglinfo +SUBDIRS = qglinfo +!package: SUBDIRS += meshcvt |