CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file LICENSE.rst or https://cmake.org/licensing for details.
  3. cmake_minimum_required(VERSION 3.13)
  4. project(CMakeClangTidyModule C CXX)
  5. get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH)
  6. get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH)
  7. find_package(Clang REQUIRED)
  8. if(LLVM_VERSION_MAJOR GREATER_EQUAL 16)
  9. set(CMAKE_CXX_STANDARD 17)
  10. else()
  11. set(CMAKE_CXX_STANDARD 14)
  12. endif()
  13. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  14. add_library(cmake-clang-tidy-module MODULE
  15. Module.cxx
  16. OstringstreamUseCmstrcatCheck.cxx
  17. OstringstreamUseCmstrcatCheck.h
  18. StringConcatenationUseCmstrcatCheck.cxx
  19. StringConcatenationUseCmstrcatCheck.h
  20. UseBespokeEnumClassCheck.cxx
  21. UseBespokeEnumClassCheck.h
  22. UseCmstrlenCheck.cxx
  23. UseCmstrlenCheck.h
  24. UseCmsysFstreamCheck.cxx
  25. UseCmsysFstreamCheck.h
  26. UsePragmaOnceCheck.cxx
  27. UsePragmaOnceCheck.h
  28. )
  29. target_include_directories(cmake-clang-tidy-module PRIVATE ${CLANG_INCLUDE_DIRS})
  30. target_link_libraries(cmake-clang-tidy-module PRIVATE clang-tidy)
  31. option(RUN_TESTS "Run the tests for the clang-tidy module" OFF)
  32. if(RUN_TESTS)
  33. enable_testing()
  34. add_subdirectory(Tests)
  35. endif()