feat: add ESP-IDF compilation service for QEMU-compatible firmware generation
parent
d77a68e896
commit
ff12b83e34
|
|
@ -465,6 +465,7 @@ class ESPIDFCompiler:
|
||||||
cmake_cmd = [
|
cmake_cmd = [
|
||||||
'cmake',
|
'cmake',
|
||||||
'-G', 'Ninja',
|
'-G', 'Ninja',
|
||||||
|
'-Wno-dev',
|
||||||
f'-DIDF_TARGET={idf_target}',
|
f'-DIDF_TARGET={idf_target}',
|
||||||
'-DCMAKE_BUILD_TYPE=Release',
|
'-DCMAKE_BUILD_TYPE=Release',
|
||||||
f'-DSDKCONFIG_DEFAULTS={project_dir / "sdkconfig.defaults"}',
|
f'-DSDKCONFIG_DEFAULTS={project_dir / "sdkconfig.defaults"}',
|
||||||
|
|
@ -529,6 +530,18 @@ class ESPIDFCompiler:
|
||||||
all_stdout = cmake_result.stdout + '\n' + ninja_result.stdout
|
all_stdout = cmake_result.stdout + '\n' + ninja_result.stdout
|
||||||
all_stderr = cmake_result.stderr + '\n' + ninja_result.stderr
|
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:
|
if ninja_result.returncode != 0:
|
||||||
logger.error(f'[espidf] ninja build failed:\n{ninja_result.stderr}')
|
logger.error(f'[espidf] ninja build failed:\n{ninja_result.stderr}')
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue