meta: add tool to combine multiple compile-commands database files
this allows once instance of an lsp to understand multiple cmake build directories.
This commit is contained in:
@@ -57,4 +57,9 @@ cmake \
|
||||
-DCMAKE_SYSTEM_NAME=Rosetta \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$source_dir/arch/$target_arch/Platform/Rosetta.cmake
|
||||
|
||||
python3 \
|
||||
$source_dir/util/merge-compiledb.py \
|
||||
compile_commands.json \
|
||||
toolchain/compile_commands.json
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
24
util/merge-compiledb.py
Executable file
24
util/merge-compiledb.py
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import json
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print('USAGE: {} <dest-file> [src-files...]'.format(sys.argv[0]))
|
||||
exit(-1)
|
||||
|
||||
dest_path = sys.argv[1]
|
||||
src_paths = sys.argv[2:]
|
||||
|
||||
dest = open(dest_path, 'r')
|
||||
dest_data = json.load(dest)
|
||||
dest.close()
|
||||
|
||||
for src_path in src_paths:
|
||||
src = open(src_path, 'r')
|
||||
src_data = json.load(src)
|
||||
dest_data += src_data
|
||||
src.close()
|
||||
|
||||
dest = open(dest_path, 'w')
|
||||
json.dump(dest_data, dest, indent=4)
|
||||
dest.close()
|
||||
0
util/sysroot-tool.py
Normal file → Executable file
0
util/sysroot-tool.py
Normal file → Executable file
Reference in New Issue
Block a user