Qmake: Simplify use of helper for creation of shadow dir paths

Change-Id: Iabe22a53f51e3475854e47af9e7f7efae6e16d1b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2019-12-04 13:19:34 +01:00
parent 0aa95576c2
commit 1d32219eca
3 changed files with 18 additions and 25 deletions

View File

@@ -77,33 +77,22 @@ namespace QmakeProjectManager {
// Helpers:
// --------------------------------------------------------------------
QString QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePath, const Kit *k,
const QString &suffix,
BuildConfiguration::BuildType buildType)
FilePath QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePath, const Kit *k,
const QString &suffix,
BuildConfiguration::BuildType buildType)
{
if (proFilePath.isEmpty())
return QString();
return {};
const QString projectName = proFilePath.toFileInfo().completeBaseName();
ProjectMacroExpander expander(proFilePath, projectName, k, suffix, buildType);
QString projectDir = Project::projectDirectory(proFilePath).toString();
QString buildPath = expander.expand(ProjectExplorerPlugin::buildDirectoryTemplate());
return FileUtils::resolvePath(projectDir, buildPath);
}
static FilePath defaultBuildDirectory(const FilePath &projectPath,
const Kit *k,
const QString &suffix,
BuildConfiguration::BuildType type)
{
return FilePath::fromString(QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k,
suffix, type));
return FilePath::fromString(FileUtils::resolvePath(projectDir, buildPath));
}
const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration";
enum { debug = 0 };
QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
: BuildConfiguration(target, id)
{
@@ -193,9 +182,9 @@ void QmakeBuildConfiguration::initialize()
FilePath directory = initialBuildDirectory();
if (directory.isEmpty()) {
directory = defaultBuildDirectory(target()->project()->projectFilePath(),
target()->kit(), initialDisplayName(),
initialBuildType());
directory = shadowBuildDirectory(target()->project()->projectFilePath(),
target()->kit(), initialDisplayName(),
initialBuildType());
}
setBuildDirectory(directory);
@@ -772,7 +761,8 @@ BuildInfo QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
info.buildDirectory = FilePath::fromString(absoluteBuildPath);
} else {
info.buildDirectory = defaultBuildDirectory(projectPath, k, suffix, type);
info.buildDirectory =
QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, suffix, type);
}
info.buildType = type;
info.extraInfo = QVariant::fromValue(extraInfo);