diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index f615496469b301b4a705af3e8e9974f349dc27be..596c7f5b99821579b9b42936433c888d808e8c72 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -238,8 +238,8 @@ set(SRCS
   cmFilePathChecksum.h
   cmFileTime.cxx
   cmFileTime.h
-  cmFileTimeComparison.cxx
-  cmFileTimeComparison.h
+  cmFileTimeCache.cxx
+  cmFileTimeCache.h
   cmFortranParserImpl.cxx
   cmFSPermissions.cxx
   cmFSPermissions.h
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index 07bc7e76123b5320b6d59fe7fdf2a52590e35caa..54d77057de1235a744f311fb04608ee03ea05a63 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -5,7 +5,7 @@
 #include "cmAlgorithms.h"
 #include "cmCTest.h"
 #include "cmDuration.h"
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 #include "cmGeneratedFileStream.h"
 #include "cmMakefile.h"
 #include "cmProcessOutput.h"
@@ -503,7 +503,7 @@ void cmCTestBuildHandler::GenerateXMLHeader(cmXMLWriter& xml)
 class cmCTestBuildHandler::FragmentCompare
 {
 public:
-  FragmentCompare(cmFileTimeComparison* ftc)
+  FragmentCompare(cmFileTimeCache* ftc)
     : FTC(ftc)
   {
   }
@@ -520,7 +520,7 @@ public:
   }
 
 private:
-  cmFileTimeComparison* FTC = nullptr;
+  cmFileTimeCache* FTC = nullptr;
 };
 
 void cmCTestBuildHandler::GenerateXMLLaunched(cmXMLWriter& xml)
@@ -530,7 +530,7 @@ void cmCTestBuildHandler::GenerateXMLLaunched(cmXMLWriter& xml)
   }
 
   // Sort XML fragments in chronological order.
-  cmFileTimeComparison ftc;
+  cmFileTimeCache ftc;
   FragmentCompare fragmentCompare(&ftc);
   typedef std::set<std::string, FragmentCompare> Fragments;
   Fragments fragments(fragmentCompare);
diff --git a/Source/cmDepends.cxx b/Source/cmDepends.cxx
index c128b026d374dc57dc578616f2d821c5e6030b69..4e97af2d4bf6737b782e9a9cbb2c6afd247491d0 100644
--- a/Source/cmDepends.cxx
+++ b/Source/cmDepends.cxx
@@ -2,7 +2,7 @@
    file Copyright.txt or https://cmake.org/licensing for details.  */
 #include "cmDepends.h"
 
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 #include "cmGeneratedFileStream.h"
 #include "cmLocalGenerator.h"
 #include "cmMakefile.h"
diff --git a/Source/cmDepends.h b/Source/cmDepends.h
index 20c91ca57b326e843e26bb4a593d32708413e4e6..bbc79becfd5a5bedbcf121edd847384cf6bb924c 100644
--- a/Source/cmDepends.h
+++ b/Source/cmDepends.h
@@ -12,7 +12,7 @@
 #include <string>
 #include <vector>
 
-class cmFileTimeComparison;
+class cmFileTimeCache;
 class cmLocalGenerator;
 
 /** \class cmDepends
@@ -72,10 +72,7 @@ public:
   void Clear(const std::string& file);
 
   /** Set the file comparison object */
-  void SetFileComparison(cmFileTimeComparison* fc)
-  {
-    this->FileComparison = fc;
-  }
+  void SetFileComparison(cmFileTimeCache* fc) { this->FileComparison = fc; }
 
 protected:
   // Write dependencies for the target file to the given stream.
@@ -101,7 +98,7 @@ protected:
 
   // Flag for verbose output.
   bool Verbose = false;
-  cmFileTimeComparison* FileComparison = nullptr;
+  cmFileTimeCache* FileComparison = nullptr;
 
   std::string Language;
 
diff --git a/Source/cmFileCopier.h b/Source/cmFileCopier.h
index a11c371558f457bfc6d78c3275e5970e5ec55aab..003b8f6b1d51f1689436038a866f565d6c9a30b3 100644
--- a/Source/cmFileCopier.h
+++ b/Source/cmFileCopier.h
@@ -5,7 +5,7 @@
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 #include "cm_sys_stat.h"
 #include "cmsys/RegularExpression.hxx"
 
@@ -28,7 +28,7 @@ protected:
   cmMakefile* Makefile;
   const char* Name;
   bool Always;
-  cmFileTimeComparison FileTimes;
+  cmFileTimeCache FileTimes;
 
   // Whether to install a file not matching any expression.
   bool MatchlessFiles;
diff --git a/Source/cmFileTimeComparison.cxx b/Source/cmFileTimeCache.cxx
similarity index 68%
rename from Source/cmFileTimeComparison.cxx
rename to Source/cmFileTimeCache.cxx
index 2115029328b2b6b1b63c53524fdd09fc61623017..ff205b72aef1ef5e88adbd9bc707e94aa19e66f0 100644
--- a/Source/cmFileTimeComparison.cxx
+++ b/Source/cmFileTimeCache.cxx
@@ -1,17 +1,16 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 
 #include <string>
 #include <unordered_map>
 #include <utility>
 
-cmFileTimeComparison::cmFileTimeComparison() = default;
+cmFileTimeCache::cmFileTimeCache() = default;
 
-cmFileTimeComparison::~cmFileTimeComparison() = default;
+cmFileTimeCache::~cmFileTimeCache() = default;
 
-bool cmFileTimeComparison::Load(std::string const& fileName,
-                                cmFileTime& fileTime)
+bool cmFileTimeCache::Load(std::string const& fileName, cmFileTime& fileTime)
 {
   // Use the stored time if available.
   {
@@ -30,8 +29,8 @@ bool cmFileTimeComparison::Load(std::string const& fileName,
   return true;
 }
 
-bool cmFileTimeComparison::FileTimeCompare(std::string const& f1,
-                                           std::string const& f2, int* result)
+bool cmFileTimeCache::FileTimeCompare(std::string const& f1,
+                                      std::string const& f2, int* result)
 {
   // Get the modification time for each file.
   cmFileTime ft1, ft2;
@@ -45,8 +44,8 @@ bool cmFileTimeComparison::FileTimeCompare(std::string const& f1,
   return false;
 }
 
-bool cmFileTimeComparison::FileTimesDiffer(std::string const& f1,
-                                           std::string const& f2)
+bool cmFileTimeCache::FileTimesDiffer(std::string const& f1,
+                                      std::string const& f2)
 {
   // Get the modification time for each file.
   cmFileTime ft1, ft2;
diff --git a/Source/cmFileTimeComparison.h b/Source/cmFileTimeCache.h
similarity index 79%
rename from Source/cmFileTimeComparison.h
rename to Source/cmFileTimeCache.h
index 80ea409d1eb980ea5d4abef856005e98cd39edf5..d284fdb268c5bb3afdd0a501085d9bdc3bcce671 100644
--- a/Source/cmFileTimeComparison.h
+++ b/Source/cmFileTimeCache.h
@@ -1,7 +1,7 @@
 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
    file Copyright.txt or https://cmake.org/licensing for details.  */
-#ifndef cmFileTimeComparison_h
-#define cmFileTimeComparison_h
+#ifndef cmFileTimeCache_h
+#define cmFileTimeCache_h
 
 #include "cmConfigure.h" // IWYU pragma: keep
 
@@ -9,17 +9,17 @@
 #include <string>
 #include <unordered_map>
 
-/** \class cmFileTimeComparison
+/** \class cmFileTimeCache
  * \brief Caches file modification times in an internal map for fast lookups.
  */
-class cmFileTimeComparison
+class cmFileTimeCache
 {
 public:
-  cmFileTimeComparison();
-  ~cmFileTimeComparison();
+  cmFileTimeCache();
+  ~cmFileTimeCache();
 
-  cmFileTimeComparison(const cmFileTimeComparison&) = delete;
-  cmFileTimeComparison& operator=(const cmFileTimeComparison&) = delete;
+  cmFileTimeCache(const cmFileTimeCache&) = delete;
+  cmFileTimeCache& operator=(const cmFileTimeCache&) = delete;
 
   /**
    * @brief Loads the file time from the cache or the file system.
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index d1093be4ce47b00cd0c1b113c76acfb962bc8ecd..30b9790212682c347cd67d4079b30619ed7621b8 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -12,7 +12,7 @@
 
 #include "cmAlgorithms.h"
 #include "cmCustomCommandGenerator.h"
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 #include "cmGeneratedFileStream.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
@@ -1273,7 +1273,7 @@ bool cmLocalUnixMakefileGenerator3::UpdateDependencies(
   // happen when a new source file is added and CMake regenerates the
   // project but no other sources were touched.
   bool needRescanDependInfo = false;
-  cmFileTimeComparison* ftc =
+  cmFileTimeCache* ftc =
     this->GlobalGenerator->GetCMakeInstance()->GetFileComparison();
   {
     int result;
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 08e284ec600413b099a7432e9e906ad8ed599403..84ac5b1e89251d01a68b1596d8c70e8990534f1e 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -9,7 +9,7 @@
 #include "cmDocumentationFormatter.h"
 #include "cmDuration.h"
 #include "cmExternalMakefileProjectGenerator.h"
-#include "cmFileTimeComparison.h"
+#include "cmFileTimeCache.h"
 #include "cmGeneratorTarget.h"
 #include "cmGlobalGenerator.h"
 #include "cmGlobalGeneratorFactory.h"
@@ -138,7 +138,7 @@ cmake::cmake(Role role, cmState::Mode mode)
   this->DebugOutput = false;
   this->DebugTryCompile = false;
   this->ClearBuildSystem = false;
-  this->FileComparison = new cmFileTimeComparison;
+  this->FileComparison = new cmFileTimeCache;
 
   this->State = new cmState;
   this->State->SetMode(mode);
@@ -2431,7 +2431,7 @@ static bool cmakeCheckStampFile(const std::string& stampName)
   }
 
   // Compare the stamp dependencies against the dependency file itself.
-  cmFileTimeComparison ftc;
+  cmFileTimeCache ftc;
   std::string dep;
   while (cmSystemTools::GetLineFromStream(fin, dep)) {
     int result;
diff --git a/Source/cmake.h b/Source/cmake.h
index 1ffeabcb9ceabafbeca22444b9cc074ae74d07b6..a9aaaeb2446e4506acc0106babd72e1117cdc68d 100644
--- a/Source/cmake.h
+++ b/Source/cmake.h
@@ -26,7 +26,7 @@
 
 class cmExternalMakefileProjectGeneratorFactory;
 class cmFileAPI;
-class cmFileTimeComparison;
+class cmFileTimeCache;
 class cmGlobalGenerator;
 class cmGlobalGeneratorFactory;
 class cmMakefile;
@@ -329,7 +329,7 @@ public:
   /**
    * Get the file comparison class
    */
-  cmFileTimeComparison* GetFileComparison() { return this->FileComparison; }
+  cmFileTimeCache* GetFileComparison() { return this->FileComparison; }
 
   // Do we want debug output during the cmake run.
   bool GetDebugOutput() { return this->DebugOutput; }
@@ -509,7 +509,7 @@ private:
   std::unordered_set<std::string> HeaderFileExtensionsSet;
   bool ClearBuildSystem;
   bool DebugTryCompile;
-  cmFileTimeComparison* FileComparison;
+  cmFileTimeCache* FileComparison;
   std::string GraphVizFile;
   InstalledFilesMap InstalledFiles;
 
diff --git a/bootstrap b/bootstrap
index 77293c8602b933b01e9420128fc4b5b267d4e000..537b43b32e596d18a26d13d62e007550ebd91347 100755
--- a/bootstrap
+++ b/bootstrap
@@ -305,7 +305,7 @@ CMAKE_CXX_SOURCES="\
   cmFileCopier \
   cmFileInstaller \
   cmFileTime \
-  cmFileTimeComparison \
+  cmFileTimeCache \
   cmFindBase \
   cmFindCommon \
   cmFindFileCommand \