| # Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| # file Copyright.txt or https://cmake.org/licensing for details. |
| cmake_minimum_required(VERSION 3.13) |
| project(CMakeClangTidyModule C CXX) |
| |
| get_filename_component(tmp "${CMAKE_CURRENT_SOURCE_DIR}" PATH) |
| get_filename_component(CMake_SOURCE_DIR "${tmp}" PATH) |
| |
| find_package(Clang REQUIRED) |
| |
| if(LLVM_VERSION_MAJOR GREATER_EQUAL 16) |
| set(CMAKE_CXX_STANDARD 17) |
| else() |
| set(CMAKE_CXX_STANDARD 14) |
| endif() |
| set(CMAKE_CXX_STANDARD_REQUIRED ON) |
| |
| add_library(cmake-clang-tidy-module MODULE |
| Module.cxx |
| |
| OstringstreamUseCmstrcatCheck.cxx |
| OstringstreamUseCmstrcatCheck.h |
| StringConcatenationUseCmstrcatCheck.cxx |
| StringConcatenationUseCmstrcatCheck.h |
| UseBespokeEnumClassCheck.cxx |
| UseBespokeEnumClassCheck.h |
| UseCmstrlenCheck.cxx |
| UseCmstrlenCheck.h |
| UseCmsysFstreamCheck.cxx |
| UseCmsysFstreamCheck.h |
| UsePragmaOnceCheck.cxx |
| UsePragmaOnceCheck.h |
| ) |
| target_include_directories(cmake-clang-tidy-module PRIVATE ${CLANG_INCLUDE_DIRS}) |
| target_link_libraries(cmake-clang-tidy-module PRIVATE clang-tidy) |
| |
| option(RUN_TESTS "Run the tests for the clang-tidy module" OFF) |
| if(RUN_TESTS) |
| enable_testing() |
| add_subdirectory(Tests) |
| endif() |