Setup clangd

This commit is contained in:
Marek S. Łukasiewicz 2025-01-28 13:55:10 +01:00
parent 3066bdacc9
commit ea634491de
4 changed files with 22 additions and 323500 deletions

7
.gitignore vendored
View file

@ -1,6 +1,13 @@
# Compiled Object files from SCons # Compiled Object files from SCons
*.os *.os
# Generated by tooling
extension_api.json
compile_commands.json
# clangd cache
.cache/
# Created by https://www.toptal.com/developers/gitignore/api/c++,godot,scons # Created by https://www.toptal.com/developers/gitignore/api/c++,godot,scons
# Edit at https://www.toptal.com/developers/gitignore?templates=c++,godot,scons # Edit at https://www.toptal.com/developers/gitignore?templates=c++,godot,scons

View file

@ -7,6 +7,15 @@ Named in this order so not everything starts with the same word
Using Godot v4.4.beta1.official [d33da79d3]. Using Godot v4.4.beta1.official [d33da79d3].
Install SCons with `pipx install scons`. Install SCons with `pipx install scons`.
To generate files for build tooling, run the following:
```sh
godot --dump-extension-api
scons compile_commands
```
### Build
To build the extension run SCons in the repository root, the default arguments have been added to the file. To build the extension run SCons in the repository root, the default arguments have been added to the file.
```sh ```sh

View file

@ -19,6 +19,12 @@ sources = Glob("src/*.cpp")
# Generated with local Godot installation # Generated with local Godot installation
env["custom_api_file"] = "extension_api.json" env["custom_api_file"] = "extension_api.json"
# Information for Clang tooling, including clangd language server
# To create the compile_database
env.Tool('compilation_db')
cdb = env.CompilationDatabase('compile_commands.json')
Alias('compile_commands', cdb)
if env["platform"] == "macos": if env["platform"] == "macos":
library = env.SharedLibrary( library = env.SharedLibrary(
"project/bin/libmarshconnector.{}.{}.framework/libmarshconnector.{}.{}".format( "project/bin/libmarshconnector.{}.{}.framework/libmarshconnector.{}.{}".format(

File diff suppressed because it is too large Load diff