Sam McCall | 966cad0 | 2020-03-12 12:59:40 | [diff] [blame] | 1 | ## clangd |
| 2 | |
| 3 | clangd is a language server, and provides C++ IDE features to editors. |
| 4 | This is not its documentation. |
| 5 | |
| 6 | - the **website** is https://clangd.llvm.org/. |
| 7 | - the **bug tracker** is https://github.com/clangd/clangd/issues |
xgupta | 94fac81 | 2021-02-01 07:24:21 | [diff] [blame] | 8 | - the **source code** is hosted at https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clangd. |
Sam McCall | 966cad0 | 2020-03-12 12:59:40 | [diff] [blame] | 9 | - the **website source code** is at https://github.com/llvm/clangd-www/ |
| 10 | |
| 11 | ### Communication channels |
| 12 | |
| 13 | If you have any questions or feedback, you can reach community and developers |
| 14 | through 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 Cetinkaya | 4cca222 | 2020-11-10 18:20:52 | [diff] [blame] | 20 | |
| 21 | ### Building and testing clangd |
| 22 | |
| 23 | For 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`. |