Skip to content

Commit

Permalink
[tools]: fix the issue of missing commands in compile_commands.json (#…
Browse files Browse the repository at this point in the history
…9856)

* [tools]: fix the issue of missing commands in compile_commands.json

* [tools]: fix the path of compile_commands.json
  • Loading branch information
aka-adi authored Jan 2, 2025
1 parent 73ea6da commit 9291946
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
10 changes: 5 additions & 5 deletions tools/building.py
Original file line number Diff line number Diff line change
Expand Up @@ -823,6 +823,11 @@ def local_group(group, objects):

break
else:
# generate build/compile_commands.json
if GetOption('cdb') and utils.VerTuple(SCons.__version__) >= (4, 0, 0):
Env.Tool("compilation_db")
Env.CompilationDatabase('build/compile_commands.json')

# remove source files with local flags setting
for group in Projects:
if 'LOCAL_CFLAGS' in group or 'LOCAL_CXXFLAGS' in group or 'LOCAL_CCFLAGS' in group or 'LOCAL_CPPPATH' in group or 'LOCAL_CPPDEFINES' in group:
Expand All @@ -843,11 +848,6 @@ def local_group(group, objects):
objects = sorted(objects)
objects.append(objects_in_group)

# generate build/compile_commands.json
if GetOption('cdb') and utils.VerTuple(SCons.__version__) >= (4, 0, 0):
Env.Tool("compilation_db")
Env.CompilationDatabase('build/compile_commands.json')

program = Env.Program(target, objects)

EndBuilding(target, program)
Expand Down
10 changes: 5 additions & 5 deletions tools/vsc.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ def generate_code_workspace_file(source_dirs,command_json_path,root_path):

def command_json_to_workspace(root_path,command_json_path):

with open('compile_commands.json', 'r') as f:
with open('build/compile_commands.json', 'r') as f:
compile_commands = json.load(f)

source_dirs = extract_source_dirs(compile_commands)
Expand Down Expand Up @@ -246,11 +246,11 @@ def GenerateCFiles(env):
vsc_file.close()

"""
Generate vscode.code-workspace files by compile_commands.json
Generate vscode.code-workspace files by build/compile_commands.json
"""
if os.path.exists('compile_commands.json'):
if os.path.exists('build/compile_commands.json'):

command_json_to_workspace(env['RTT_ROOT'],'compile_commands.json')
command_json_to_workspace(env['RTT_ROOT'],'build/compile_commands.json')
return
"""
Generate vscode.code-workspace files
Expand Down Expand Up @@ -282,7 +282,7 @@ def GenerateCFiles(env):
segments = [p for p in normalized_path.split(os.path.sep) if p != '..']
path['name'] = 'rtthread/' + '/'.join(segments)
json_obj['folders'] = path_list
if os.path.exists('compile_commands.json'):
if os.path.exists('build/compile_commands.json'):
json_obj['settings'] = {
"clangd.arguments": [
"--compile-commands-dir=.",
Expand Down

0 comments on commit 9291946

Please sign in to comment.