Commit 4792715f authored by Tobias Hunger's avatar Tobias Hunger
Browse files

Symbian: Allow for EPOCROOT and project to be on different drives

Allow for EPOCROOT and the project to be on different drives when
using SBSv2.

Task-number: QTCREATORBUG-3781
parent 1cc74eff
......@@ -51,7 +51,7 @@ S60ProjectChecker::reportIssues(const QString &proFile, const QtVersion *version
QFileInfo cppheader(epocRootDir + QLatin1String("/epoc32/include/stdapis/string.h"));
#if defined (Q_OS_WIN)
// Report an error if project- and epoc directory are on different drives:
if (!epocRootDir.startsWith(proFile.left(3), Qt::CaseInsensitive)) {
if (!epocRootDir.startsWith(proFile.left(3), Qt::CaseInsensitive) && !version->isBuildWithSymbianSbsV2()) {
results.append(Task(Task::Error,
QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
"The Symbian SDK and the project sources must reside on the same drive."),
......
......@@ -1635,9 +1635,20 @@ void QtVersion::addToEnvironment(Utils::Environment &env) const
QString epocRootPath(systemRoot());
QDir epocDir(epocRootPath);
// Clean up epoc root path for the environment:
if (!epocRootPath.endsWith(QLatin1Char('/')))
epocRootPath.append(QLatin1Char('/'));
env.set(QLatin1String("EPOCROOT"), QDir::toNativeSeparators(S60Devices::cleanedRootPath(epocRootPath)));
if (!isBuildWithSymbianSbsV2()) {
#ifdef Q_OS_WIN
if (epocRootPath.count() > 2
&& epocRootPath.at(0).toLower() >= QLatin1Char('a')
&& epocRootPath.at(0).toLower() <= QLatin1Char('z')
&& epocRootPath.at(1) == QLatin1Char(':')) {
epocRootPath = epocRootPath.mid(2);
}
#endif
}
env.set(QLatin1String("EPOCROOT"), QDir::toNativeSeparators(epocRootPath));
env.prependOrSetPath(epocDir.filePath(QLatin1String("epoc32/tools"))); // e.g. make.exe
// Windows only:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment