CMakeLists.txt 996 B

123456789101112131415161718192021222324252627282930313233
  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. UseBespokeEnumClassCheck.cxx
  15. UseBespokeEnumClassCheck.h
  16. UseCmstrlenCheck.cxx
  17. UseCmstrlenCheck.h
  18. UseCmsysFstreamCheck.cxx
  19. UseCmsysFstreamCheck.h
  20. )
  21. target_include_directories(cmake-clang-tidy-module PRIVATE ${CLANG_INCLUDE_DIRS})
  22. target_link_libraries(cmake-clang-tidy-module PRIVATE clang-tidy)
  23. option(RUN_TESTS "Run the tests for the clang-tidy module" OFF)
  24. if(RUN_TESTS)
  25. enable_testing()
  26. add_subdirectory(Tests)
  27. endif()