From ff12b83e343f5079d9e1ca510544aeb599a61f68 Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Thu, 2 Apr 2026 02:54:02 -0300 Subject: [PATCH] feat: add ESP-IDF compilation service for QEMU-compatible firmware generation --- backend/app/services/espidf_compiler.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/backend/app/services/espidf_compiler.py b/backend/app/services/espidf_compiler.py index 68008db..b9e80a6 100644 --- a/backend/app/services/espidf_compiler.py +++ b/backend/app/services/espidf_compiler.py @@ -465,6 +465,7 @@ class ESPIDFCompiler: cmake_cmd = [ 'cmake', '-G', 'Ninja', + '-Wno-dev', f'-DIDF_TARGET={idf_target}', '-DCMAKE_BUILD_TYPE=Release', f'-DSDKCONFIG_DEFAULTS={project_dir / "sdkconfig.defaults"}', @@ -529,6 +530,18 @@ class ESPIDFCompiler: all_stdout = cmake_result.stdout + '\n' + ninja_result.stdout all_stderr = cmake_result.stderr + '\n' + ninja_result.stderr + # Filter out expected but ugly warnings from stderr (e.g. absent git, cmake deprecation) + filtered_stderr_lines = [] + for line in all_stderr.splitlines(): + if 'fatal: not a git repository' in line: + continue + if 'CMake Deprecation Warning' in line: + continue + if 'Compatibility with CMake' in line: + continue + filtered_stderr_lines.append(line) + all_stderr = '\n'.join(filtered_stderr_lines) + if ninja_result.returncode != 0: logger.error(f'[espidf] ninja build failed:\n{ninja_result.stderr}') return {