From be3c59e96e2ece3c486087b20eeb69fe1b60b27b Mon Sep 17 00:00:00 2001 From: kh1 <qt-info@nokia.com> Date: Fri, 9 Apr 2010 17:13:33 +0200 Subject: [PATCH] The path separator depends on the OS. --- .../qt-maemo/maemopackagecreationstep.cpp | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 0bd81474960..e33a30b2a17 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -105,30 +105,39 @@ bool MaemoPackageCreationStep::createPackage() if (!packagingNeeded()) return true; - const QString projectDir = QFileInfo(executable()).absolutePath(); - QFile configFile(targetRoot() % QLatin1String("/config.sh")); if (!configFile.open(QIODevice::ReadOnly)) { qDebug("Cannot open config file '%s'", qPrintable(configFile.fileName())); return false; } + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); - const QLatin1String pathKey("PATH"); - env.insert(pathKey, maddeRoot() % QLatin1String("/madbin:") - % env.value(pathKey)); - env.insert(QLatin1String("PERL5LIB"), - maddeRoot() % QLatin1String("/madlib/perl5")); - const QRegExp envPattern(QLatin1String("([^=]+)=[\"']?([^;\"']+)[\"']? ;.*")); + const QString &path = QDir::toNativeSeparators(maddeRoot() + QLatin1Char('/')); + + const QLatin1String key("PATH"); +#ifdef Q_OS_WIN + const QLatin1String colon(";"); + 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); + + const QRegExp envPattern(QLatin1String("([^=]+)=[\"']?([^;\"']+)[\"']? ;.*")); QByteArray line; do { line = configFile.readLine(200); if (envPattern.exactMatch(line)) env.insert(envPattern.cap(1), envPattern.cap(2)); } 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")))); + QProcess buildProc; buildProc.setProcessEnvironment(env); buildProc.setWorkingDirectory(projectDir); -- GitLab