summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@theqtcompany.com>2014-12-08 13:47:47 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2014-12-08 13:58:49 +0100
commitd36c4d87dbf9ac045edfff257cf3f7083bf0ea65 (patch)
treee2003668dfa4f9cb089dd26d72c6e259168d0903
parentb36c39927260638a318c4f94bad4011c7ece2d9b (diff)
downloadqt-creator-d36c4d87dbf9ac045edfff257cf3f7083bf0ea65.tar.gz
QtSupport: Fix wrong build directory for examplesv3.3.0
By partially reverting 92fbbaea9b4d96f88d556c12cb40c5382a53df70 Task-number: QTCREATORBUG-13630 Change-Id: Ia04a224f2a12839d2cf27828009c945383a4c19c Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp2
-rw-r--r--src/plugins/qtsupport/baseqtversion.cpp11
-rw-r--r--src/plugins/qtsupport/baseqtversion.h1
3 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index 8ab2c79d5f..f0eb2a96f2 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -651,7 +651,7 @@ QmakeBuildInfo *QmakeBuildConfigurationFactory::createBuildInfo(const Kit *k,
// check if this project is in the source directory:
Utils::FileName projectFilePath = Utils::FileName::fromString(projectPath);
- if (version->isSubProject(projectFilePath)) {
+ if (version->isInSourceDirectory(projectFilePath)) {
// assemble build directory
QString projectDirectory = projectFilePath.toFileInfo().absolutePath();
QDir qtSourceDir = QDir(version->sourcePath().toString());
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 0038fa3eab..ddaf755b63 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -1478,6 +1478,17 @@ FileName BaseQtVersion::sourcePath(const QHash<QString, QString> &versionInfo)
return FileName::fromUserInput(sourcePath);
}
+bool BaseQtVersion::isInSourceDirectory(const Utils::FileName &filePath)
+{
+ const Utils::FileName &source = sourcePath();
+ if (source.isEmpty())
+ return false;
+ QDir dir = QDir(source.toString());
+ if (dir.dirName() == QLatin1String("qtbase"))
+ dir.cdUp();
+ return filePath.isChildOf(dir);
+}
+
bool BaseQtVersion::isSubProject(const Utils::FileName &filePath)
{
const Utils::FileName &source = sourcePath();
diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h
index e876c24bc9..7f9ef7b1ae 100644
--- a/src/plugins/qtsupport/baseqtversion.h
+++ b/src/plugins/qtsupport/baseqtversion.h
@@ -124,6 +124,7 @@ public:
virtual Utils::Environment qmakeRunEnvironment() const;
virtual Utils::FileName sourcePath() const;
+ bool isInSourceDirectory(const Utils::FileName &filePath);
bool isSubProject(const Utils::FileName &filePath);
// used by UiCodeModelSupport