mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-18 08:54:15 +01:00
needed and this is the "easy way", the other solution is to list every single qml file by hand, these will likely be added to in upcomming releases of Qt and cause maintaince. The downside is three debug DLLs get copied also, if required I can expand copydata.pro to delete them after the copy if required. As we are making some changes to the build system, this at least enables working builds of QtQuick2, if before packaging we do not have a better solution, I will make sure the extra debug DLLs are removed.
133 lines
5.3 KiB
Prolog
133 lines
5.3 KiB
Prolog
include(openpilotgcs.pri)
|
|
|
|
TEMPLATE = subdirs
|
|
|
|
# Copy Qt runtime libraries into the build directory (to run or package)
|
|
equals(copydata, 1) {
|
|
|
|
# Windows release only, no debug target DLLs ending with 'd'
|
|
# It is assumed that SDL.dll can be found in the same directory as mingw32-make.exe
|
|
win32 {
|
|
|
|
# set debug suffix if needed
|
|
CONFIG(debug, debug|release):DS = "d"
|
|
|
|
# copy Qt DLLs
|
|
QT_DLLS = Qt5Core$${DS}.dll \
|
|
Qt5Gui$${DS}.dll \
|
|
Qt5Widgets$${DS}.dll \
|
|
Qt5Network$${DS}.dll \
|
|
Qt5OpenGL$${DS}.dll \
|
|
Qt5Sql$${DS}.dll \
|
|
Qt5Svg$${DS}.dll \
|
|
Qt5Test$${DS}.dll \
|
|
Qt5Xml$${DS}.dll \
|
|
Qt5Declarative$${DS}.dll \
|
|
Qt5XmlPatterns$${DS}.dll \
|
|
Qt5Script$${DS}.dll \
|
|
Qt5Concurrent$${DS}.dll \
|
|
Qt5PrintSupport$${DS}.dll \
|
|
Qt5OpenGL$${DS}.dll \
|
|
Qt5SerialPort$${DS}.dll \
|
|
Qt5Multimedia$${DS}.dll \
|
|
Qt5MultimediaWidgets$${DS}.dll \
|
|
Qt5Quick$${DS}.dll \
|
|
Qt5Qml$${DS}.dll \
|
|
Qt5V8$${DS}.dll \
|
|
icuin51.dll \
|
|
icudt51.dll \
|
|
icuuc51.dll
|
|
# it is more robust to take the following DLLs from Qt rather than from MinGW
|
|
QT_DLLS += libgcc_s_dw2-1.dll \
|
|
libstdc++-6.dll \
|
|
libwinpthread-1.dll
|
|
for(dll, QT_DLLS) {
|
|
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$[QT_INSTALL_BINS]/$$dll\") $$targetPath(\"$$GCS_APP_PATH/$$dll\") $$addNewline()
|
|
}
|
|
|
|
# create Qt plugin directories
|
|
QT_PLUGIN_DIRS = iconengines \
|
|
imageformats \
|
|
platforms \
|
|
mediaservice \
|
|
sqldrivers
|
|
for(dir, QT_PLUGIN_DIRS) {
|
|
data_copy.commands += -@$(MKDIR) $$targetPath(\"$$GCS_APP_PATH/$$dir\") $$addNewline()
|
|
}
|
|
|
|
# copy Qt plugin DLLs
|
|
QT_PLUGIN_DLLS = iconengines/qsvgicon$${DS}.dll \
|
|
imageformats/qgif$${DS}.dll \
|
|
imageformats/qico$${DS}.dll \
|
|
imageformats/qjpeg$${DS}.dll \
|
|
imageformats/qmng$${DS}.dll \
|
|
imageformats/qsvg$${DS}.dll \
|
|
imageformats/qtiff$${DS}.dll \
|
|
platforms/qwindows$${DS}.dll \
|
|
mediaservice/dsengine$${DS}.dll \
|
|
sqldrivers/qsqlite$${DS}.dll
|
|
for(dll, QT_PLUGIN_DLLS) {
|
|
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$[QT_INSTALL_PLUGINS]/$$dll\") $$targetPath(\"$$GCS_APP_PATH/$$dll\") $$addNewline()
|
|
}
|
|
|
|
# create QtQuick2 plugin directories
|
|
QT_QUICK2_DIRS = qtquick \
|
|
qtquick.2 \
|
|
qtquick/layouts \
|
|
qtquick/localstorage \
|
|
qtquick/particles.2 \
|
|
qtquick/privatewidgets \
|
|
qtquick/window.2 \
|
|
qtquick/xmllistmodel
|
|
for(dir, QT_QUICK2_DIRS) {
|
|
data_copy.commands += -@$(MKDIR) $$targetPath(\"$$GCS_APP_PATH/$$dir\") $$addNewline()
|
|
}
|
|
|
|
# Copy QtQuick2 complete directories
|
|
# These directories have a lot of files
|
|
# Easier to copy everything
|
|
QTQ_WHOLE_DIRS = qtquick/controls \
|
|
qtquick/dialogs
|
|
for(dir, QTQ_WHOLE_DIRS) {
|
|
data_copy.commands += $(COPY_DIR) $$targetPath(\"$$[QT_INSTALL_QML]/$$dir\") $$targetPath(\"$$GCS_APP_PATH/$$dir\") $$addNewline()
|
|
}
|
|
|
|
# copy QtQuick plugin DLLs
|
|
QT_QUICK2_DLLS = QtQuick.2/qtquick2plugin$${DS}.dll \
|
|
QtQuick.2/plugins.qmltypes \
|
|
QtQuick.2/qmldir \
|
|
qtquick/layouts/qquicklayoutsplugin$${DS}.dll \
|
|
qtquick/layouts/plugins.qmltypes \
|
|
qtquick/layouts/qmldir \
|
|
qtquick/localstorage/qmllocalstorageplugin$${DS}.dll \
|
|
qtquick/localstorage/plugins.qmltypes \
|
|
qtquick/localstorage/qmldir \
|
|
qtquick/particles.2/particlesplugin$${DS}.dll \
|
|
qtquick/particles.2/plugins.qmltypes \
|
|
qtquick/particles.2/qmldir \
|
|
qtquick/privatewidgets/widgetsplugin$${DS}.dll \
|
|
qtquick/privatewidgets/plugins.qmltypes \
|
|
qtquick/privatewidgets/qmldir \
|
|
qtquick/window.2/windowplugin$${DS}.dll \
|
|
qtquick/window.2/plugins.qmltypes \
|
|
qtquick/window.2/qmldir \
|
|
qtquick/XmlListModel/qmlxmllistmodelplugin$${DS}.dll \
|
|
qtquick/XmlListModel/plugins.qmltypes \
|
|
qtquick/XmlListModel/qmldir
|
|
|
|
for(dll, QT_QUICK2_DLLS) {
|
|
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$[QT_INSTALL_QML]/$$dll\") $$targetPath(\"$$GCS_APP_PATH/$$dll\") $$addNewline()
|
|
}
|
|
|
|
# copy MinGW DLLs
|
|
MINGW_DLLS = SDL.dll
|
|
for(dll, MINGW_DLLS) {
|
|
data_copy.commands += $(COPY_FILE) $$targetPath(\"$$(QTMINGW)/$$dll\") $$targetPath(\"$$GCS_APP_PATH/$$dll\") $$addNewline()
|
|
}
|
|
|
|
data_copy.target = FORCE
|
|
QMAKE_EXTRA_TARGETS += data_copy
|
|
}
|
|
|
|
}
|