<div dir="ltr">Dear Clang Developers,<div><br></div><div>I am wondering about the best way to organize a project with several custom Clang Static Analyzer checkers.</div><div><br></div><div>Currently, we are compiling the custom checkers as plugins and load them dynamically with -load on the command line. This has the benefit of having a fast compile time, but it does not work (well) on Windows and it's not nice for the end user.</div><div><br>The standard way, to add them in llvm/tools/clang/lib/StaticAnalyzer as described inĀ <a href="https://clang-analyzer.llvm.org/checker_dev_manual.html">https://clang-analyzer.llvm.org/checker_dev_manual.html</a>, has the downsides of (1) having a large compilation time and (2) being in a place which is not directly under our source code control system.</div><div><br></div><div>I am wondering if there is a third way to organize things. Ideally, we would like to have</div><div>- fast compilation times;</div><div>- our checkers in a directory outside of the clang tree;</div><div>- easy on the end users (a static build of clang);</div><div>- our checkers working nicely on Windows.</div><div><br></div><div>The llvm tree has a "projects" directory under which they recommend to place external projects, but there are no guidelines on how to add CSA checkers there.</div><div><br>I would appreciate if you could provide some pointers on how to best organize our project.<br><br>Thank you!</div><div><br></div><div>Best,</div><div>Stefan</div><div><br></div></div>