编译LLVM源代码
https://github.com/llvm/llvm-project/releases

LLVM14.0.6


cmake -S llvm1406\llvm -B build1406 -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64 -DCPACK_GENERATOR=ZIP -DLLVM_INCLUDE_TESTS=OFFcmake --build build1406 --config Release --target package
- LLVM ENABLE PROJECTS: 这是一个要构建的项目列表,由分号分隔。项目的源代码必 须与 llvm 目录在同一级别 (并排布局)。当前列表是 clang, clangtools-extra, compiler-rt, debuginfo-tests, lib, libclc, libcxx, libcxxabi, libunwind, lld, lldb, llgo, mlir, openmp, parallel-libs, polly 和 pstl。All 可以作为此列表中的所有项目的简写。要和 LLVM 一起构建 Clang 和 llgo, 必须指定-DLLVM ENABLE PROJECT="clang;llgo"。
- LLVM TARGETS TO BUILD: LLVM 支持不同的 CPU 架构。默认情况下,构建所有目标。 使用此变量指定要构建的目标列表,由分号分隔。目前支持的目标有 AArch64、AMDGPU、 ARM、BPF、Hexagon、Lanai、Mips、MSP430、NVPTX、PowerPC、RISCV、Sparc、SystemZ、 WebAssembly、X86、XCore。All 可以作为 All 目标的简写,并且名称区分大小写。若要只启用 PowerPC 和 X86目标,必须指定-DLLVM TARGETS To BUILD="PowerPC;X86"。
编译LLVM支持的CMake选项:
https://llvm.org/docs/CMake.html
打开build\LLVM-14.0.6-win64.zip解压到外层目录

开发Clang LibTooling工具方法1
基于build1406 ools\clang ools\clang-check开发,这种方法最快、最简单。

开发Clang LibTooling工具方法2
复制llvm1406\clang ools\clang-check一份改名为clang-check-my,并修改下图中的CMakeLists.txt文件


重新执行下
cmake -S llvm1406\llvm -B build1406 -DLLVM_ENABLE_PROJECTS=clang -DLLVM_TARGETS_TO_BUILD=X86 -Thost=x64 -DCPACK_GENERATOR=ZIP -DLLVM_INCLUDE_TESTS=OFF

开发Clang LibTooling工具方法3
使用LLVM编译产物LLVM-14.0.6-win64,在CMakeLists.txt中使用
参考项目1:
- find_package(LLVM REQUIRED CONFIG)
- find_package(Clang REQUIRED CONFIG)
https://github.com/trailofbits/constexpr-everything


参考项目2:
https://github.com/andreasfertig/cppinsights
- llvm_config(LLVM_CXXFLAGS "--cxxflags")
- llvm_config(LLVM_LDFLAGS "--ldflags")
- llvm_config(LLVM_LIBS2 "--libs")
- llvm_config(LLVM_LIBDIR "--libdir")
- llvm_config(LLVM_INCLUDE_DIR "--includedir")
- llvm_config(LLVM_SYSTEM_LIBS2 "--system-libs")