CMakePM: Clear CMake configuration to remove backup files

Also remove the CMakeCache.txt.prev, .cmake/api/v1/reply, and
.cmake/api/v1/reply.prev which might cause problems in
case of CMake configuration failure.

Change-Id: I24f049e5e0338b78393b68ab3680276388ffc6bf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Cristian Adam
2021-03-23 10:33:57 +01:00
parent 2177eeb7cd
commit 9d2fab7c17

View File

@@ -541,13 +541,18 @@ void CMakeBuildSystem::clearCMakeCache()
stopParsingAndClearState();
const FilePath cmakeCache = m_parameters.workDirectory / "CMakeCache.txt";
const FilePath cmakeFiles = m_parameters.workDirectory / "CMakeFiles";
const QList<FilePath> pathsToDelete = {
m_parameters.workDirectory / "CMakeCache.txt",
m_parameters.workDirectory / "CMakeCache.txt.prev",
m_parameters.workDirectory / "CMakeFiles",
m_parameters.workDirectory / ".cmake/api/v1/reply",
m_parameters.workDirectory / ".cmake/api/v1/reply.prev"
};
if (cmakeCache.exists())
Utils::FileUtils::removeRecursively(cmakeCache);
if (cmakeFiles.exists())
Utils::FileUtils::removeRecursively(cmakeFiles);
for (const FilePath &path : pathsToDelete) {
if (path.exists())
Utils::FileUtils::removeRecursively(path);
}
}
std::unique_ptr<CMakeProjectNode> CMakeBuildSystem::generateProjectTree(