From 9d2fab7c17fb7d7feab3450dff091466183120f5 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 23 Mar 2021 10:33:57 +0100 Subject: [PATCH] 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 --- .../cmakeprojectmanager/cmakebuildsystem.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 38ded553b24..a260722ca54 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -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 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 CMakeBuildSystem::generateProjectTree(