set(LLVM_LINK_COMPONENTS AllTargetsAsmParsers AllTargetsDescs AllTargetsInfos FrontendOpenMP support ) # Needed by LLVM's CMake checks because this file defines multiple targets. set(LLVM_OPTIONAL_SOURCES ClangTidyMain.cpp ClangTidyToolMain.cpp) add_clang_library(clangTidyMain ClangTidyMain.cpp LINK_LIBS clangTidy ${ALL_CLANG_TIDY_CHECKS} DEPENDS omp_gen ClangDriverOptions ) clang_target_link_libraries(clangTidyMain PRIVATE clangAST clangASTMatchers clangBasic clangTooling clangToolingCore ) # Support plugins. if(CLANG_PLUGIN_SUPPORT) set(support_plugins SUPPORT_PLUGINS) endif() add_clang_tool(clang-tidy ClangTidyToolMain.cpp DEPENDS clang-resource-headers ${support_plugins} ) clang_target_link_libraries(clang-tidy PRIVATE clangAST clangASTMatchers clangBasic clangTooling clangToolingCore ) target_link_libraries(clang-tidy PRIVATE clangTidy clangTidyMain ${ALL_CLANG_TIDY_CHECKS} ) if(CLANG_PLUGIN_SUPPORT) export_executable_symbols_for_plugins(clang-tidy) endif() install(PROGRAMS clang-tidy-diff.py DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" COMPONENT clang-tidy) install(PROGRAMS run-clang-tidy.py DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT clang-tidy RENAME run-clang-tidy)