|
|
@ -1104,6 +1104,8 @@ void deployPlugins(const AppDirInfo &appDirInfo, const QString &pluginSourcePath |
|
|
|
sourcePath = QDir::cleanPath(qtLibexecPath + "/QtWebEngineProcess"); |
|
|
|
destinationPath = QDir::cleanPath(dstLibexec + "/QtWebEngineProcess"); |
|
|
|
copyFilePrintStatus(sourcePath, destinationPath); |
|
|
|
// put qt.conf file next to browser process so it can also make use of our local Qt resources
|
|
|
|
createQtConfForQtWebEngineProcess(dstLibexec); |
|
|
|
// Resources:
|
|
|
|
sourcePath = QDir::cleanPath(qtDataPath + "/resources/qtwebengine_resources.pak"); |
|
|
|
destinationPath = QDir::cleanPath(dstResources + "/qtwebengine_resources.pak"); |
|
|
@ -1149,6 +1151,75 @@ void deployPlugins(const AppDirInfo &appDirInfo, const QString &pluginSourcePath |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void createQtConf(const QString &appDirPath) |
|
|
|
{ |
|
|
|
// Set Plugins and imports paths. These are relative to QCoreApplication::applicationDirPath()
|
|
|
|
// which is where the main executable resides; see http://doc.qt.io/qt-5/qt-conf.html
|
|
|
|
QByteArray contents = "# Generated by linuxdeployqt\n" |
|
|
|
"# https://github.com/probonopd/linuxdeployqt/\n" |
|
|
|
"[Paths]\n" |
|
|
|
"Plugins = plugins\n" |
|
|
|
"Imports = qml\n" |
|
|
|
"Qml2Imports = qml\n"; |
|
|
|
|
|
|
|
// Workaround for: https://github.com/probonopd/linuxdeployqt/issues/75
|
|
|
|
if(fhsLikeMode == true){ |
|
|
|
QByteArray contents = "# Generated by linuxdeployqt\n" |
|
|
|
"# https://github.com/probonopd/linuxdeployqt/\n" |
|
|
|
"[Paths]\n" |
|
|
|
"Prefix = ../../\n" |
|
|
|
"Plugins = plugins\n" |
|
|
|
"Imports = qml\n" |
|
|
|
"Qml2Imports = qml\n"; |
|
|
|
} |
|
|
|
|
|
|
|
QString filePath = appDirPath + "/"; // Is picked up when placed next to the main executable
|
|
|
|
QString fileName = QDir::cleanPath(appBinaryPath + "/../qt.conf"); |
|
|
|
|
|
|
|
QDir().mkpath(filePath); |
|
|
|
|
|
|
|
QFile qtconf(fileName); |
|
|
|
if (qtconf.exists() && !alwaysOwerwriteEnabled) { |
|
|
|
|
|
|
|
LogWarning() << fileName << "already exists, will not overwrite."; |
|
|
|
LogWarning() << "To make sure the plugins are loaded from the correct location,"; |
|
|
|
LogWarning() << "please make sure qt.conf contains the following lines:"; |
|
|
|
LogWarning() << "[Paths]"; |
|
|
|
LogWarning() << " Plugins = plugins"; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
qtconf.open(QIODevice::WriteOnly); |
|
|
|
if (qtconf.write(contents) != -1) { |
|
|
|
LogNormal() << "Created configuration file:" << fileName; |
|
|
|
LogNormal() << "This file sets the plugin search path to" << appDirPath + "/plugins"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void createQtConfForQtWebEngineProcess(const QString &appDirPath) |
|
|
|
{ |
|
|
|
QByteArray contents = "# Generated by linuxdeployqt\n" |
|
|
|
"# https://github.com/probonopd/linuxdeployqt/\n" |
|
|
|
"[Paths]\n" |
|
|
|
"Prefix = ../\n"; |
|
|
|
QString filePath = appDirPath + "/"; |
|
|
|
QString fileName = filePath + "qt.conf"; |
|
|
|
|
|
|
|
QDir().mkpath(filePath); |
|
|
|
|
|
|
|
QFile qtconf(fileName); |
|
|
|
if (qtconf.exists() && !alwaysOwerwriteEnabled) { |
|
|
|
LogWarning() << fileName << "already exists, will not overwrite."; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
qtconf.open(QIODevice::WriteOnly); |
|
|
|
if (qtconf.write(contents) != -1) { |
|
|
|
LogNormal() << "Created configuration file for Qt WebEngine process:" << fileName; |
|
|
|
LogNormal() << "This file sets the prefix option to parent directory of browser process executable"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void deployPlugins(const QString &appDirPath, DeploymentInfo deploymentInfo) |
|
|
|
{ |
|
|
|
AppDirInfo applicationBundle; |
|
|
|