CMake: Cache CMakeCache.txt

Change-Id: Ib3e7a9943d15a2e90afd29642b666892ba7b0613
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Tobias Hunger
2016-05-13 13:34:18 +02:00
parent 6456cc35b0
commit 5d69bdfde7
2 changed files with 15 additions and 15 deletions

View File

@@ -172,6 +172,7 @@ void BuildDirManager::resetData()
{ {
m_hasData = false; m_hasData = false;
m_cmakeCache.clear();
m_projectName.clear(); m_projectName.clear();
m_buildTargets.clear(); m_buildTargets.clear();
m_watchedFiles.clear(); m_watchedFiles.clear();
@@ -271,21 +272,19 @@ void BuildDirManager::clearFiles()
CMakeConfig BuildDirManager::parsedConfiguration() const CMakeConfig BuildDirManager::parsedConfiguration() const
{ {
if (!m_hasData) if (m_cmakeCache.isEmpty()) {
return CMakeConfig(); Utils::FileName cacheFile = workDirectory();
cacheFile.appendPath(QLatin1String("CMakeCache.txt"));
Utils::FileName cacheFile = workDirectory(); QString errorMessage;
cacheFile.appendPath(QLatin1String("CMakeCache.txt")); m_cmakeCache = parseConfiguration(cacheFile, &errorMessage);
QString errorMessage; if (!errorMessage.isEmpty())
CMakeConfig result = parseConfiguration(cacheFile, &errorMessage); emit errorOccured(errorMessage);
if (!errorMessage.isEmpty()) const Utils::FileName sourceOfBuildDir
emit errorOccured(errorMessage); = Utils::FileName::fromUtf8(CMakeConfigItem::valueOf("CMAKE_HOME_DIRECTORY", m_cmakeCache));
const Utils::FileName sourceOfBuildDir if (sourceOfBuildDir != sourceDirectory()) // Use case-insensitive compare where appropriate
= Utils::FileName::fromUtf8(CMakeConfigItem::valueOf("CMAKE_HOME_DIRECTORY", result)); emit errorOccured(tr("The build directory is not for %1").arg(sourceDirectory().toUserOutput()));
if (sourceOfBuildDir != sourceDirectory()) // Use case-insensitive compare where appropriate }
emit errorOccured(tr("The build directory is not for %1").arg(sourceDirectory().toUserOutput())); return m_cmakeCache;
return result;
} }
void BuildDirManager::stopProcess() void BuildDirManager::stopProcess()

View File

@@ -112,6 +112,7 @@ private:
const CMakeBuildConfiguration *m_buildConfiguration = nullptr; const CMakeBuildConfiguration *m_buildConfiguration = nullptr;
Utils::QtcProcess *m_cmakeProcess = nullptr; Utils::QtcProcess *m_cmakeProcess = nullptr;
QTemporaryDir *m_tempDir = nullptr; QTemporaryDir *m_tempDir = nullptr;
mutable CMakeConfig m_cmakeCache;
QSet<Utils::FileName> m_watchedFiles; QSet<Utils::FileName> m_watchedFiles;
QString m_projectName; QString m_projectName;