I discovered the issue and CLAUDE provided the fix ...
Steps to reproduce: Add espressif/esp_lvgl_adapter as a dependency. Build a project with any source file. Get xtensa-esp-elf-gcc: fatal error: cannot specify '-o' with '-c' with multiple files.
Root cause: esp_lvgl_adapter uses target_compile_options(... PUBLIC -include "path"). cmake stores these as two separate compileCommandFragments. _extract_flags adds the bare path to CFLAGS as a plain string; after sorted(), it ends up as a positional GCC argument alongside the real source file. prepare_build_envs loses the -include entirely and puts the path in LIBS.
Attached is a temporary solution that needs to be applied and the reapplied after every platform update:
python3 scripts/patch_pio_espidf.py
patch_pio_espidf.py
I discovered the issue and CLAUDE provided the fix ...
Steps to reproduce: Add espressif/esp_lvgl_adapter as a dependency. Build a project with any source file. Get xtensa-esp-elf-gcc: fatal error: cannot specify '-o' with '-c' with multiple files.
Root cause: esp_lvgl_adapter uses target_compile_options(... PUBLIC -include "path"). cmake stores these as two separate compileCommandFragments. _extract_flags adds the bare path to CFLAGS as a plain string; after sorted(), it ends up as a positional GCC argument alongside the real source file. prepare_build_envs loses the -include entirely and puts the path in LIBS.
Attached is a temporary solution that needs to be applied and the reapplied after every platform update:
python3 scripts/patch_pio_espidf.py
patch_pio_espidf.py