forked from qt-creator/qt-creator
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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user