CMakeLists.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt 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. set(CMAKE_CXX_STANDARD 14)
  8. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  9. find_package(Clang REQUIRED)
  10. add_library(cmake-clang-tidy-module MODULE
  11. Module.cxx
  12. OstringstreamUseCmstrcatCheck.cxx
  13. OstringstreamUseCmstrcatCheck.h
  14. StringConcatenationUseCmstrcatCheck.cxx
  15. StringConcatenationUseCmstrcatCheck.h
  16. UseBespokeEnumClassCheck.cxx
  17. UseBespokeEnumClassCheck.h
  18. UseCmstrlenCheck.cxx
  19. UseCmstrlenCheck.h
  20. UseCmsysFstreamCheck.cxx
  21. UseCmsysFstreamCheck.h
  22. UsePragmaOnceCheck.cxx
  23. UsePragmaOnceCheck.h
  24. )
  25. target_include_directories(cmake-clang-tidy-module PRIVATE ${CLANG_INCLUDE_DIRS})
  26. target_link_libraries(cmake-clang-tidy-module PRIVATE clang-tidy)
  27. option(RUN_TESTS "Run the tests for the clang-tidy module" OFF)
  28. if(RUN_TESTS)
  29. enable_testing()
  30. add_subdirectory(Tests)
  31. endif()