~ruther/qmk_firmware

62d19fc2ac42b39a4f32683c7e8c5ad95b566b24 — Nick Brassel 1 year, 3 months ago c38fdfe
Copy `compile_commands.json` to userspace, if in use. (#22925)

1 files changed, 5 insertions(+), 2 deletions(-)

M lib/python/qmk/build_targets.py
M lib/python/qmk/build_targets.py => lib/python/qmk/build_targets.py +5 -2
@@ 6,7 6,7 @@ from typing import List, Union
from pathlib import Path
from dotty_dict import dotty, Dotty
from milc import cli
from qmk.constants import QMK_FIRMWARE, INTERMEDIATE_OUTPUT_PREFIX
from qmk.constants import QMK_FIRMWARE, INTERMEDIATE_OUTPUT_PREFIX, HAS_QMK_USERSPACE, QMK_USERSPACE
from qmk.commands import find_make, get_make_parallel_args, parse_configurator_json
from qmk.keyboard import keyboard_folder
from qmk.info import keymap_json


@@ 118,7 118,10 @@ class BuildTarget:
        self.prepare_build(build_target=build_target, **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
        write_compilation_database(command=command, output_path=QMK_FIRMWARE / 'compile_commands.json', skip_clean=skip_clean, **env_vars)
        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:
            shutil.copy(str(output_path), str(QMK_USERSPACE / 'compile_commands.json'))

    def compile(self, build_target: str = None, dry_run: bool = False, **env_vars) -> None:
        if self._clean or self._compiledb:

Do not follow this link