Ensure `qmk generate-compilation-database` copies to userspace as well. (#23129)
parent
c6668b9cd9
commit
56802f506c
|
@ -119,9 +119,10 @@ class BuildTarget:
|
||||||
command = self.compile_command(build_target=build_target, dry_run=True, **env_vars)
|
command = self.compile_command(build_target=build_target, dry_run=True, **env_vars)
|
||||||
from qmk.cli.generate.compilation_database import write_compilation_database # Lazy load due to circular references
|
from qmk.cli.generate.compilation_database import write_compilation_database # Lazy load due to circular references
|
||||||
output_path = QMK_FIRMWARE / 'compile_commands.json'
|
output_path = QMK_FIRMWARE / 'compile_commands.json'
|
||||||
write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
|
ret = write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars)
|
||||||
if output_path.exists() and HAS_QMK_USERSPACE:
|
if ret and output_path.exists() and HAS_QMK_USERSPACE:
|
||||||
shutil.copy(str(output_path), str(QMK_USERSPACE / 'compile_commands.json'))
|
shutil.copy(str(output_path), str(QMK_USERSPACE / 'compile_commands.json'))
|
||||||
|
return ret
|
||||||
|
|
||||||
def compile(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None:
|
def compile(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None:
|
||||||
if self._clean or self._compiledb:
|
if self._clean or self._compiledb:
|
||||||
|
|
|
@ -17,6 +17,7 @@ from qmk.constants import QMK_FIRMWARE
|
||||||
from qmk.decorators import automagic_keyboard, automagic_keymap
|
from qmk.decorators import automagic_keyboard, automagic_keymap
|
||||||
from qmk.keyboard import keyboard_completer, keyboard_folder
|
from qmk.keyboard import keyboard_completer, keyboard_folder
|
||||||
from qmk.keymap import keymap_completer
|
from qmk.keymap import keymap_completer
|
||||||
|
from qmk.build_targets import KeyboardKeymapBuildTarget
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=10)
|
@lru_cache(maxsize=10)
|
||||||
|
@ -138,4 +139,5 @@ def generate_compilation_database(cli: MILC) -> Union[bool, int]:
|
||||||
elif not current_keymap:
|
elif not current_keymap:
|
||||||
cli.log.error('Could not determine keymap!')
|
cli.log.error('Could not determine keymap!')
|
||||||
|
|
||||||
return write_compilation_database(current_keyboard, current_keymap, QMK_FIRMWARE / 'compile_commands.json')
|
target = KeyboardKeymapBuildTarget(current_keyboard, current_keymap)
|
||||||
|
return target.generate_compilation_database()
|
||||||
|
|
Loading…
Reference in New Issue