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