aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
index 41ae3acf03..66448835cf 100644
--- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp
@@ -45,6 +45,7 @@
#include <utils/qtcprocess.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/stringutils.h>
+#include <utils/temporarydirectory.h>
#include <utils/QtConcurrentTools>
#include <QLoggingCategory>
@@ -1870,9 +1871,11 @@ FileName QmakeProFile::buildDir(QmakeBuildConfiguration *bc) const
const QString relativeDir = srcDirRoot.relativeFilePath(directoryPath().toString());
if (!bc && m_project->activeTarget())
bc = static_cast<QmakeBuildConfiguration *>(m_project->activeTarget()->activeBuildConfiguration());
- if (!bc)
- return { };
- return FileName::fromString(QDir::cleanPath(QDir(bc->buildDirectory().toString()).absoluteFilePath(relativeDir)));
+ const QString buildConfigBuildDir = bc ? bc->buildDirectory().toString() : QString();
+ const QString buildDir = buildConfigBuildDir.isEmpty()
+ ? m_project->projectDirectory().toString()
+ : buildConfigBuildDir;
+ return FileName::fromString(QDir::cleanPath(QDir(buildDir).absoluteFilePath(relativeDir)));
}
FileNameList QmakeProFile::generatedFiles(const FileName &buildDir,