Refactor compiledb implementation

This comment enables the possibility to build the "compile_commands.json"
file by only using `scons -Q compiledb`. No need to use the argument
`compiledb=yes`.

And when using the `compiledb=yes`, it will create a
"compiled_commands.json" automatically.
pull/1230/head
Adam Scott 2023-09-04 15:00:42 -04:00
parent 7a3cfe8089
commit 2d5024ac8e
No known key found for this signature in database
GPG Key ID: 1352C2919D96DDDF
1 changed files with 9 additions and 4 deletions

View File

@ -274,9 +274,8 @@ def generate(env):
env["OBJSUFFIX"] = suffix + env["OBJSUFFIX"]
# compile_commands.json
if env.get("compiledb", False):
env.Tool("compilation_db")
env.Alias("compiledb", env.CompilationDatabase(normalize_path(env["compiledb_file"], env)))
env.Tool("compilation_db")
env.Alias("compiledb", env.CompilationDatabase(normalize_path(env["compiledb_file"], env)))
# Builders
env.Append(BUILDERS={"GodotCPPBindings": Builder(action=scons_generate_bindings, emitter=scons_emit_files)})
@ -315,7 +314,13 @@ def _godot_cpp(env):
if env["build_library"]:
library = env.StaticLibrary(target=env.File("bin/%s" % library_name), source=sources)
env.Default(library)
default_args = [library]
# Add compiledb if the option is set
if env.get("compiledb", False):
default_args += ["compiledb"]
env.Default(*default_args)
env.AppendUnique(LIBS=[env.File("bin/%s" % library_name)])
return library