Hi! I need to use clang-tidy as a clang plugin, but can't figure out how to do it.
I see ClangTidyPlugin.cpp file, and there is ClangTidyPlugin target, but when I run `make clangTidyPlugin` it produces only libclangTidyPlugin.a, no any dynamic library. Am I doing something wrong? Is it even possible?
Thanks for any help.
Hmm, I discovered that it is actually part of libclang. But still, I run
$ clang main.c -fsyntax-only -Xclang -load -Xclang /Users/zienag/dev/llvm_trunk/build/lib/libclang.dylib -Xclang -plugin -Xclang clang-tidy
And it produces error:
error: unable to find plugin 'clang-tidy'
I don't think I ever added the build rules to build clang-tidy as a
plugin for use outside of libclang. You can use it via libclang and
the python bindings currently. Adding the necessary build rules isn't
easy because you'd have to avoid linking clang symbols into both the
plugin and the actual clang binary, the current cmake layout doesn't
really support that
Thanks for clarifying! Based on this, as I understand, we can't use any other library (for example ASTMatchers) in plugin that clang doesn't use?
Using ASTMatchers in a plugin should work as long as clang doesn't use
them. The problems arise when both the plugin and clang define the
same symbols. But with the current cmake build it's not possible to
just link ASTMatchers, it will drag all dependencies of ASTMatchers
along and cause linker errors.