mirror of https://github.com/RT-Thread/rt-thread
[tools]: fix the issue of missing commands in compile_commands.json (#9856)
* [tools]: fix the issue of missing commands in compile_commands.json * [tools]: fix the path of compile_commands.json
This commit is contained in:
parent
73ea6dab02
commit
9291946c74
|
@ -823,6 +823,11 @@ def DoBuilding(target, 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:
|
||||
|
@ -843,11 +848,6 @@ def DoBuilding(target, 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)
|
||||
|
|
10
tools/vsc.py
10
tools/vsc.py
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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=.",
|
||||
|
|
Loading…
Reference in New Issue