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:
|
// Helpers:
|
||||||
// --------------------------------------------------------------------
|
// --------------------------------------------------------------------
|
||||||
|
|
||||||
QString QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePath, const Kit *k,
|
FilePath QmakeBuildConfiguration::shadowBuildDirectory(const FilePath &proFilePath, const Kit *k,
|
||||||
const QString &suffix,
|
const QString &suffix,
|
||||||
BuildConfiguration::BuildType buildType)
|
BuildConfiguration::BuildType buildType)
|
||||||
{
|
{
|
||||||
if (proFilePath.isEmpty())
|
if (proFilePath.isEmpty())
|
||||||
return QString();
|
return {};
|
||||||
|
|
||||||
const QString projectName = proFilePath.toFileInfo().completeBaseName();
|
const QString projectName = proFilePath.toFileInfo().completeBaseName();
|
||||||
ProjectMacroExpander expander(proFilePath, projectName, k, suffix, buildType);
|
ProjectMacroExpander expander(proFilePath, projectName, k, suffix, buildType);
|
||||||
QString projectDir = Project::projectDirectory(proFilePath).toString();
|
QString projectDir = Project::projectDirectory(proFilePath).toString();
|
||||||
QString buildPath = expander.expand(ProjectExplorerPlugin::buildDirectoryTemplate());
|
QString buildPath = expander.expand(ProjectExplorerPlugin::buildDirectoryTemplate());
|
||||||
return FileUtils::resolvePath(projectDir, buildPath);
|
return FilePath::fromString(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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration";
|
const char BUILD_CONFIGURATION_KEY[] = "Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration";
|
||||||
|
|
||||||
enum { debug = 0 };
|
|
||||||
|
|
||||||
QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
|
QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Core::Id id)
|
||||||
: BuildConfiguration(target, id)
|
: BuildConfiguration(target, id)
|
||||||
{
|
{
|
||||||
@@ -193,9 +182,9 @@ void QmakeBuildConfiguration::initialize()
|
|||||||
|
|
||||||
FilePath directory = initialBuildDirectory();
|
FilePath directory = initialBuildDirectory();
|
||||||
if (directory.isEmpty()) {
|
if (directory.isEmpty()) {
|
||||||
directory = defaultBuildDirectory(target()->project()->projectFilePath(),
|
directory = shadowBuildDirectory(target()->project()->projectFilePath(),
|
||||||
target()->kit(), initialDisplayName(),
|
target()->kit(), initialDisplayName(),
|
||||||
initialBuildType());
|
initialBuildType());
|
||||||
}
|
}
|
||||||
|
|
||||||
setBuildDirectory(directory);
|
setBuildDirectory(directory);
|
||||||
@@ -772,7 +761,8 @@ BuildInfo QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
|
|||||||
|
|
||||||
info.buildDirectory = FilePath::fromString(absoluteBuildPath);
|
info.buildDirectory = FilePath::fromString(absoluteBuildPath);
|
||||||
} else {
|
} else {
|
||||||
info.buildDirectory = defaultBuildDirectory(projectPath, k, suffix, type);
|
info.buildDirectory =
|
||||||
|
QmakeBuildConfiguration::shadowBuildDirectory(projectPath, k, suffix, type);
|
||||||
}
|
}
|
||||||
info.buildType = type;
|
info.buildType = type;
|
||||||
info.extraInfo = QVariant::fromValue(extraInfo);
|
info.extraInfo = QVariant::fromValue(extraInfo);
|
||||||
|
|||||||
@@ -65,8 +65,10 @@ public:
|
|||||||
void setQMakeBuildConfiguration(QtSupport::BaseQtVersion::QmakeBuildConfigs config);
|
void setQMakeBuildConfiguration(QtSupport::BaseQtVersion::QmakeBuildConfigs config);
|
||||||
|
|
||||||
/// suffix should be unique
|
/// suffix should be unique
|
||||||
static QString shadowBuildDirectory(const Utils::FilePath &profilePath, const ProjectExplorer::Kit *k,
|
static Utils::FilePath shadowBuildDirectory(const Utils::FilePath &profilePath,
|
||||||
const QString &suffix, BuildConfiguration::BuildType type);
|
const ProjectExplorer::Kit *k,
|
||||||
|
const QString &suffix,
|
||||||
|
BuildConfiguration::BuildType type);
|
||||||
|
|
||||||
QStringList configCommandLineArguments() const;
|
QStringList configCommandLineArguments() const;
|
||||||
|
|
||||||
|
|||||||
@@ -96,9 +96,10 @@ QStringList QmakeProjectImporter::importCandidates()
|
|||||||
candidates << pfi.absolutePath();
|
candidates << pfi.absolutePath();
|
||||||
|
|
||||||
foreach (Kit *k, KitManager::kits()) {
|
foreach (Kit *k, KitManager::kits()) {
|
||||||
QFileInfo fi(QmakeBuildConfiguration::shadowBuildDirectory(projectFilePath(), k,
|
const FilePath sbdir = QmakeBuildConfiguration::shadowBuildDirectory
|
||||||
QString(), BuildConfiguration::Unknown));
|
(projectFilePath(), k, QString(), BuildConfiguration::Unknown);
|
||||||
const QString baseDir = fi.absolutePath();
|
|
||||||
|
const QString baseDir = sbdir.toFileInfo().absolutePath();
|
||||||
|
|
||||||
foreach (const QString &dir, QDir(baseDir).entryList()) {
|
foreach (const QString &dir, QDir(baseDir).entryList()) {
|
||||||
const QString path = baseDir + QLatin1Char('/') + dir;
|
const QString path = baseDir + QLatin1Char('/') + dir;
|
||||||
|
|||||||
Reference in New Issue
Block a user