diff options
author | Daniel Teske <daniel.teske@theqtcompany.com> | 2014-12-08 13:47:47 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2014-12-08 13:58:49 +0100 |
commit | d36c4d87dbf9ac045edfff257cf3f7083bf0ea65 (patch) | |
tree | e2003668dfa4f9cb089dd26d72c6e259168d0903 | |
parent | b36c39927260638a318c4f94bad4011c7ece2d9b (diff) |
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.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.cpp | 11 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.h | 1 |
3 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp index 8ab2c79d5f0..f0eb2a96f23 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 0038fa3eab6..ddaf755b63a 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 e876c24bc9e..7f9ef7b1ae7 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 |