docs: expand clangd instructions

Add some additional information about running clangd for LSP when clang
is not your normal compiler.

Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-By: Tim Small <tim@seoss.co.uk>
This commit is contained in:
Jonathon Jongsma 2023-07-14 10:42:15 -05:00
parent 6b8cf9ffff
commit 2d7542a8a5

View File

@ -40,6 +40,14 @@ Create a separate build directory with a ``clangd`` compatible
CC=clang CXX=clang++ meson setup build-clang CC=clang CXX=clang++ meson setup build-clang
There are a small number of source files that are generated as part of the
build process. In order to navigate this generated source code, you should also
execute a build in this directory:
::
ninja -C build-clang
Point ``clangd`` (v12 or later) at the correct Point ``clangd`` (v12 or later) at the correct
``compile_commands.json`` by placing the following into a ``compile_commands.json`` by placing the following into a
``.clangd`` file in the root of the project: ``.clangd`` file in the root of the project:
@ -49,3 +57,12 @@ Point ``clangd`` (v12 or later) at the correct
--- ---
CompileFlags: CompileFlags:
CompilationDatabase: "build-clang" CompilationDatabase: "build-clang"
Please note that if you are not using clang for your daily development, the
``build-clang`` directory can get out of sync with the current state of the
project over time. When you update your git checkout, new files may be added or
configuration options changed and ``clangd`` may start to behave unpredictably.
In this case, you will need to update your compilation database by doing a new
build in the ``build-clang`` directory. This should allow clangd to work
reliably again.