summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSarah Smith <sarah.j.smith@nokia.com>2011-04-20 09:40:54 +1000
committerSarah Smith <sarah.j.smith@nokia.com>2011-04-20 09:40:54 +1000
commit0c958233690199d0311393f8b3f577bd9710c628 (patch)
tree3d607e1377e246269c19558563f3946a8ddbe211
parentb03fb03df383d63f25deb828a333db0939a4d2df (diff)
First cut of windows packaging
-rw-r--r--README50
-rw-r--r--quick3d.pro4
-rw-r--r--src/imports/shapes/shapes.pro40
-rw-r--r--src/imports/threed/threed.pro40
-rw-r--r--src/plugins/sceneformats/3ds/3ds.pro24
-rw-r--r--src/plugins/sceneformats/assimp/assimp.pro26
-rw-r--r--src/plugins/sceneformats/bezier/bezier.pro24
-rw-r--r--src/plugins/sceneformats/obj/obj.pro21
-rw-r--r--src/quick3d/quick3d.pro29
-rw-r--r--src/quick3d/quick3d.pro.orig111
-rw-r--r--src/quick3d/quick3d.pro.rej28
-rw-r--r--src/scripts/Setup.exebin0 -> 11938581 bytes
-rw-r--r--src/scripts/build_mac_package.sh125
-rw-r--r--src/scripts/build_win_package.nsi321
-rw-r--r--src/scripts/qtquick3d.icobin0 -> 51262 bytes
-rw-r--r--src/scripts/windows-install.rtfbin0 -> 486 bytes
-rw-r--r--src/threed/threed.pro11
-rw-r--r--util/meshcvt/meshcvt.pro7
-rw-r--r--util/qglinfo/qglinfo.pro24
-rw-r--r--util/util.pro3
20 files changed, 829 insertions, 59 deletions
diff --git a/README b/README
index 3e8bb203c..3785f56c2 100644
--- a/README
+++ b/README
@@ -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
new file mode 100644
index 000000000..ff3531690
--- /dev/null
+++ b/src/scripts/Setup.exe
Binary files differ
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
new file mode 100644
index 000000000..b3b85e37b
--- /dev/null
+++ b/src/scripts/qtquick3d.ico
Binary files differ
diff --git a/src/scripts/windows-install.rtf b/src/scripts/windows-install.rtf
new file mode 100644
index 000000000..e9c5f43de
--- /dev/null
+++ b/src/scripts/windows-install.rtf
Binary files differ
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