brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 1a2f954 Raw
100 lines · plain
1import("//clang/lib/StaticAnalyzer/Frontend/enable.gni")2import("//llvm/utils/gn/build/write_cmake_config.gni")3import("enable.gni")4 5config("clang-tidy-config_Config") {6  visibility = [ ":clang-tidy-config" ]7  include_dirs = [ "$target_gen_dir" ]8}9 10write_cmake_config("clang-tidy-config") {11  input = "clang-tidy-config.h.cmake"12  output = "$target_gen_dir/clang-tidy-config.h"13  values = []14 15  if (clang_tidy_enable_static_analyzer) {16    values += [ "CLANG_TIDY_ENABLE_STATIC_ANALYZER=1" ]17  } else {18    values += [ "CLANG_TIDY_ENABLE_STATIC_ANALYZER=" ]19  }20 21  # FIXME: Add option for this?22  values += [ "CLANG_TIDY_ENABLE_QUERY_BASED_CUSTOM_CHECKS=1" ]23 24  # Let targets depending on this find the generated file.25  public_configs = [ ":clang-tidy-config_Config" ]26}27 28static_library("clang-tidy") {29  output_name = "clangTidy"30  configs += [ "//llvm/utils/gn/build:clang_code" ]31  deps = [32    ":clang-tidy-config",33    "//clang/include/clang/StaticAnalyzer/Checkers",34    "//clang/lib/AST",35    "//clang/lib/ASTMatchers",36    "//clang/lib/Basic",37    "//clang/lib/Format",38    "//clang/lib/Frontend",39    "//clang/lib/Lex",40    "//clang/lib/Rewrite",41    "//clang/lib/Sema",42    "//clang/lib/Serialization",43    "//clang/lib/Tooling",44    "//clang/lib/Tooling/Core",45    "//llvm/lib/Support",46  ]47 48  if (clang_tidy_enable_static_analyzer) {49    deps += [50      "//clang/lib/StaticAnalyzer/Core",51      "//clang/lib/StaticAnalyzer/Frontend",52    ]53  }54 55  sources = [56    "ClangTidy.cpp",57    "ClangTidyCheck.cpp",58    "ClangTidyDiagnosticConsumer.cpp",59    "ClangTidyModule.cpp",60    "ClangTidyOptions.cpp",61    "ClangTidyProfiling.cpp",62    "ExpandModularHeadersPPCallbacks.cpp",63    "GlobList.cpp",64    "NoLintDirectiveHandler.cpp",65  ]66}67 68group("all-checks") {69  # If you add a check, also add it to ClangTidyForceLinker.h.70  deps = [71    "//clang-tools-extra/clang-tidy/abseil",72    "//clang-tools-extra/clang-tidy/altera",73    "//clang-tools-extra/clang-tidy/android",74    "//clang-tools-extra/clang-tidy/boost",75    "//clang-tools-extra/clang-tidy/bugprone",76    "//clang-tools-extra/clang-tidy/cert",77    "//clang-tools-extra/clang-tidy/concurrency",78    "//clang-tools-extra/clang-tidy/cppcoreguidelines",79    "//clang-tools-extra/clang-tidy/custom",80    "//clang-tools-extra/clang-tidy/darwin",81    "//clang-tools-extra/clang-tidy/fuchsia",82    "//clang-tools-extra/clang-tidy/google",83    "//clang-tools-extra/clang-tidy/hicpp",84    "//clang-tools-extra/clang-tidy/linuxkernel",85    "//clang-tools-extra/clang-tidy/llvm",86    "//clang-tools-extra/clang-tidy/llvmlibc",87    "//clang-tools-extra/clang-tidy/misc",88    "//clang-tools-extra/clang-tidy/modernize",89    "//clang-tools-extra/clang-tidy/objc",90    "//clang-tools-extra/clang-tidy/openmp",91    "//clang-tools-extra/clang-tidy/performance",92    "//clang-tools-extra/clang-tidy/portability",93    "//clang-tools-extra/clang-tidy/readability",94    "//clang-tools-extra/clang-tidy/zircon",95  ]96  if (clang_tidy_enable_static_analyzer) {97    deps += [ "//clang-tools-extra/clang-tidy/mpi" ]98  }99}100