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(); stopParsingAndClearState();
const FilePath cmakeCache = m_parameters.workDirectory / "CMakeCache.txt"; const QList<FilePath> pathsToDelete = {
const FilePath cmakeFiles = m_parameters.workDirectory / "CMakeFiles"; 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()) for (const FilePath &path : pathsToDelete) {
Utils::FileUtils::removeRecursively(cmakeCache); if (path.exists())
if (cmakeFiles.exists()) Utils::FileUtils::removeRecursively(path);
Utils::FileUtils::removeRecursively(cmakeFiles); }
} }
std::unique_ptr<CMakeProjectNode> CMakeBuildSystem::generateProjectTree( std::unique_ptr<CMakeProjectNode> CMakeBuildSystem::generateProjectTree(