diff options
Diffstat (limited to 'lib/python/qmk')
| -rw-r--r-- | lib/python/qmk/build_targets.py | 5 | ||||
| -rwxr-xr-x | lib/python/qmk/cli/generate/compilation_database.py | 4 | 
2 files changed, 6 insertions, 3 deletions
| diff --git a/lib/python/qmk/build_targets.py b/lib/python/qmk/build_targets.py index 80f587bcc0..d974d04020 100644 --- a/lib/python/qmk/build_targets.py +++ b/lib/python/qmk/build_targets.py @@ -119,9 +119,10 @@ class BuildTarget:          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          output_path = QMK_FIRMWARE / 'compile_commands.json' -        write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars) -        if output_path.exists() and HAS_QMK_USERSPACE: +        ret = write_compilation_database(command=command, output_path=output_path, skip_clean=skip_clean, **env_vars) +        if ret and output_path.exists() and HAS_QMK_USERSPACE:              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:          if self._clean or self._compiledb: diff --git a/lib/python/qmk/cli/generate/compilation_database.py b/lib/python/qmk/cli/generate/compilation_database.py index 5100d2b6d2..a2190fee66 100755 --- a/lib/python/qmk/cli/generate/compilation_database.py +++ b/lib/python/qmk/cli/generate/compilation_database.py @@ -17,6 +17,7 @@ from qmk.constants import QMK_FIRMWARE  from qmk.decorators import automagic_keyboard, automagic_keymap  from qmk.keyboard import keyboard_completer, keyboard_folder  from qmk.keymap import keymap_completer +from qmk.build_targets import KeyboardKeymapBuildTarget  @lru_cache(maxsize=10) @@ -138,4 +139,5 @@ def generate_compilation_database(cli: MILC) -> Union[bool, int]:      elif not current_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() | 
