cmFileTimeComparison.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmFileTimeComparison_h
  4. #define cmFileTimeComparison_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. class cmFileTimeComparisonInternal;
  7. /** \class cmFileTimeComparison
  8. * \brief Helper class for performing globbing searches.
  9. *
  10. * Finds all files that match a given globbing expression.
  11. */
  12. class cmFileTimeComparison
  13. {
  14. public:
  15. cmFileTimeComparison();
  16. ~cmFileTimeComparison();
  17. /**
  18. * Compare file modification times.
  19. * Return true for successful comparison and false for error.
  20. * When true is returned, result has -1, 0, +1 for
  21. * f1 older, same, or newer than f2.
  22. */
  23. bool FileTimeCompare(const char* f1, const char* f2, int* result);
  24. /**
  25. * Compare file modification times. Return true unless both files
  26. * exist and have modification times less than 1 second apart.
  27. */
  28. bool FileTimesDiffer(const char* f1, const char* f2);
  29. protected:
  30. cmFileTimeComparisonInternal* Internals;
  31. };
  32. #endif