Module.cxx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #include <clang-tidy/ClangTidyModule.h>
  4. #include <clang-tidy/ClangTidyModuleRegistry.h>
  5. #include "OstringstreamUseCmstrcatCheck.h"
  6. #include "UseBespokeEnumClassCheck.h"
  7. #include "UseCmstrlenCheck.h"
  8. #include "UseCmsysFstreamCheck.h"
  9. #include "UsePragmaOnceCheck.h"
  10. namespace clang {
  11. namespace tidy {
  12. namespace cmake {
  13. class CMakeClangTidyModule : public ClangTidyModule
  14. {
  15. public:
  16. void addCheckFactories(ClangTidyCheckFactories& CheckFactories) override
  17. {
  18. CheckFactories.registerCheck<UseCmstrlenCheck>("cmake-use-cmstrlen");
  19. CheckFactories.registerCheck<UseCmsysFstreamCheck>(
  20. "cmake-use-cmsys-fstream");
  21. CheckFactories.registerCheck<UseBespokeEnumClassCheck>(
  22. "cmake-use-bespoke-enum-class");
  23. CheckFactories.registerCheck<OstringstreamUseCmstrcatCheck>(
  24. "cmake-ostringstream-use-cmstrcat");
  25. CheckFactories.registerCheck<UsePragmaOnceCheck>("cmake-use-pragma-once");
  26. }
  27. };
  28. static ClangTidyModuleRegistry::Add<CMakeClangTidyModule> X(
  29. "cmake-clang-tidy", "Adds lint checks for the CMake code base.");
  30. }
  31. }
  32. }