QmakeProject: Support absolute path for TARGET

Change-Id: I2b90e0581269b76e27edbe2f28dfda75bb4aa0e5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Orgad Shaneh
2013-12-23 15:01:10 +02:00
committed by Orgad Shaneh
parent 7dc19b46ed
commit 2c5c1605b8

View File

@@ -1598,24 +1598,27 @@ QString QmakeProject::executableFor(const QmakeProFileNode *node)
return QString();
TargetInformation ti = node->targetInformation();
QString target;
switch (toolchain->targetAbi().os()) {
case ProjectExplorer::Abi::MacOS:
if (node->variableValue(ConfigVar).contains(QLatin1String("app_bundle")))
return QDir::cleanPath(destDirFor(ti) + QLatin1Char('/') + ti.target
+ QLatin1String(".app/Contents/MacOS/") + ti.target);
if (node->variableValue(ConfigVar).contains(QLatin1String("app_bundle"))) {
target = ti.target + QLatin1String(".app/Contents/MacOS/") + ti.target;
break;
}
// else fall through
case ProjectExplorer::Abi::WindowsOS:
case ProjectExplorer::Abi::LinuxOS:
case ProjectExplorer::Abi::BsdOS:
case ProjectExplorer::Abi::UnixOS: {
QString extension = node->singleVariableValue(TargetExtVar);
QString executable = QDir::cleanPath(destDirFor(ti) + QLatin1Char('/') + ti.target + extension);
return executable;
target = ti.target + extension;
break;
}
default:
return QString();
}
return QDir(destDirFor(ti)).absoluteFilePath(target);
}
void QmakeProject::emitBuildDirectoryInitialized()