blob: c5ed07195060914eb34be56cc9e27e0be4fc5ef8 [file] [log] [blame] [view]
Sam McCall966cad02020-03-12 12:59:401## 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
xgupta94fac812021-02-01 07:24:218- the **source code** is hosted at https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clangd.
Sam McCall966cad02020-03-12 12:59:409- 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)
Kadir Cetinkaya4cca2222020-11-10 18:20:5220
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`.