summaryrefslogtreecommitdiff
path: root/src/plugins/cmakeprojectmanager/builddirmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cmakeprojectmanager/builddirmanager.cpp')
-rw-r--r--src/plugins/cmakeprojectmanager/builddirmanager.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/cmakeprojectmanager/builddirmanager.cpp b/src/plugins/cmakeprojectmanager/builddirmanager.cpp
index 181ca556a7..37a0b4c921 100644
--- a/src/plugins/cmakeprojectmanager/builddirmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/builddirmanager.cpp
@@ -280,7 +280,9 @@ CMakeConfig BuildDirManager::parsedConfiguration() const
CMakeConfig result = parseConfiguration(cacheFile, &errorMessage);
if (!errorMessage.isEmpty())
emit errorOccured(errorMessage);
- if (CMakeConfigItem::valueOf("CMAKE_HOME_DIRECTORY", result) != sourceDirectory().toString().toUtf8())
+ const Utils::FileName sourceOfBuildDir
+ = Utils::FileName::fromUtf8(CMakeConfigItem::valueOf("CMAKE_HOME_DIRECTORY", result));
+ if (sourceOfBuildDir != sourceDirectory()) // Use case-insensitive compare where appropriate
emit errorOccured(tr("The build directory is not for %1").arg(sourceDirectory().toUserOutput()));
return result;
@@ -605,8 +607,10 @@ void BuildDirManager::maybeForceReparse()
const QByteArray EXTRA_GENERATOR_KEY = "CMAKE_EXTRA_GENERATOR";
const QByteArray CMAKE_COMMAND_KEY = "CMAKE_COMMAND";
- if (!m_hasData)
+ if (!m_hasData) {
+ forceReparse();
return;
+ }
const CMakeConfig currentConfig = parsedConfiguration();