1## clangd 2 3clangd is a language server, and provides C++ IDE features to editors. 4This is not its documentation. 5 6- the **website** is https://clangd.llvm.org/. 7- the **bug tracker** is https://github.com/clangd/clangd/issues 8- the **source code** is hosted at https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clangd. 9- the **website source code** is at https://github.com/llvm/clangd-www/ 10 11### Communication channels 12 13If you have any questions or feedback, you can reach community and developers 14through one of these channels: 15 16- chat: #clangd room hosted on [LLVM's Discord 17 channel](https://discord.gg/xS7Z362). 18- user questions and feature requests can be asked in the clangd topic on [LLVM 19 Discussion Forums](https://llvm.discourse.group/c/llvm-project/clangd/34) 20 21### Building and testing clangd 22 23For a minimal setup on building clangd: 24- Clone the LLVM repo to `$LLVM_ROOT`. 25- Create a build directory, for example at `$LLVM_ROOT/build`. 26- Inside the build directory run: `cmake $LLVM_ROOT/llvm/ 27 -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra"`. 28 29 - We suggest building in `Release` mode as building DEBUG binaries requires 30 considerably more resources. You can check 31 [Building LLVM with CMake documentation](https://llvm.org/docs/CMake.html) 32 for more details about cmake flags. 33 - In addition to that using `Ninja` as a generator rather than default `make` 34 is preferred. To do that consider passing `-G Ninja` to cmake invocation. 35 - Finally, you can turn on assertions via `-DLLVM_ENABLE_ASSERTS=On`. 36 37- Afterwards you can build clangd with `cmake --build $LLVM_ROOT/build --target 38 clangd`, similarly run tests by changing target to `check-clangd`. 39