forked from qt-creator/qt-creator
The path separator depends on the OS.
This commit is contained in:
@@ -105,30 +105,39 @@ bool MaemoPackageCreationStep::createPackage()
|
|||||||
if (!packagingNeeded())
|
if (!packagingNeeded())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
const QString projectDir = QFileInfo(executable()).absolutePath();
|
|
||||||
|
|
||||||
QFile configFile(targetRoot() % QLatin1String("/config.sh"));
|
QFile configFile(targetRoot() % QLatin1String("/config.sh"));
|
||||||
if (!configFile.open(QIODevice::ReadOnly)) {
|
if (!configFile.open(QIODevice::ReadOnly)) {
|
||||||
qDebug("Cannot open config file '%s'", qPrintable(configFile.fileName()));
|
qDebug("Cannot open config file '%s'", qPrintable(configFile.fileName()));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
|
||||||
const QLatin1String pathKey("PATH");
|
const QString &path = QDir::toNativeSeparators(maddeRoot() + QLatin1Char('/'));
|
||||||
env.insert(pathKey, maddeRoot() % QLatin1String("/madbin:")
|
|
||||||
% env.value(pathKey));
|
const QLatin1String key("PATH");
|
||||||
env.insert(QLatin1String("PERL5LIB"),
|
#ifdef Q_OS_WIN
|
||||||
maddeRoot() % QLatin1String("/madlib/perl5"));
|
const QLatin1String colon(";");
|
||||||
const QRegExp envPattern(QLatin1String("([^=]+)=[\"']?([^;\"']+)[\"']? ;.*"));
|
env.insert(key, path % QLatin1String("bin") % colon % env.value(key));
|
||||||
|
#elif defined(Q_OS_UNIX)
|
||||||
|
const QLatin1String colon(":");
|
||||||
|
#endif
|
||||||
|
env.insert(key, path % QLatin1String("madbin") % colon % env.value(key));
|
||||||
|
env.insert(QLatin1String("PERL5LIB"), path % QLatin1String("madlib/perl5"));
|
||||||
|
|
||||||
|
const QString projectDir = QFileInfo(executable()).absolutePath();
|
||||||
env.insert(QLatin1String("PWD"), projectDir);
|
env.insert(QLatin1String("PWD"), projectDir);
|
||||||
|
|
||||||
|
const QRegExp envPattern(QLatin1String("([^=]+)=[\"']?([^;\"']+)[\"']? ;.*"));
|
||||||
QByteArray line;
|
QByteArray line;
|
||||||
do {
|
do {
|
||||||
line = configFile.readLine(200);
|
line = configFile.readLine(200);
|
||||||
if (envPattern.exactMatch(line))
|
if (envPattern.exactMatch(line))
|
||||||
env.insert(envPattern.cap(1), envPattern.cap(2));
|
env.insert(envPattern.cap(1), envPattern.cap(2));
|
||||||
} while (!line.isEmpty());
|
} while (!line.isEmpty());
|
||||||
qDebug("Process environment: %s",
|
|
||||||
qPrintable(env.toStringList().join(QLatin1String(":"))));
|
qDebug("Process environment: %s", qPrintable(env.toStringList().join(colon)));
|
||||||
qDebug("sysroot: '%s'", qPrintable(env.value(QLatin1String("SYSROOT_DIR"))));
|
qDebug("sysroot: '%s'", qPrintable(env.value(QLatin1String("SYSROOT_DIR"))));
|
||||||
|
|
||||||
QProcess buildProc;
|
QProcess buildProc;
|
||||||
buildProc.setProcessEnvironment(env);
|
buildProc.setProcessEnvironment(env);
|
||||||
buildProc.setWorkingDirectory(projectDir);
|
buildProc.setWorkingDirectory(projectDir);
|
||||||
|
|||||||
Reference in New Issue
Block a user