From 838323cc07b4a118beb7729956da777f25a5b070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=B6ttgens?= Date: Fri, 10 Jul 2026 17:17:47 +0200 Subject: [PATCH] Quote esp-idf include paths in esp32.ini for Windows builds (#10980) ${platformio.packages_dir} resolves to a backslash path on Windows. PlatformIO parses build_flags with POSIX shell rules, which strip the backslashes and turn the NimBLE include paths into broken relative paths (d:platformiopackages/...), failing the build with 'host/ble_gap.h: No such file or directory'. Quoting the flags preserves backslashes through parsing. --- variants/esp32/esp32.ini | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/variants/esp32/esp32.ini b/variants/esp32/esp32.ini index 2a61bfa97..79b421dd5 100644 --- a/variants/esp32/esp32.ini +++ b/variants/esp32/esp32.ini @@ -22,16 +22,17 @@ build_flags = -DMESHTASTIC_EXCLUDE_RANGETEST=1 ; HACK HACK HACK this is just a proof of concept ESP32+NimBLE but these ; includes need to be done properly somehow - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/porting/nimble/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/port/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/porting/npl/freertos/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/transport/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/services/gap/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/esp-hci/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/services/gatt/include - -I${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/util/include + ; Quotes keep Windows packages_dir backslashes intact through POSIX flag parsing + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/porting/nimble/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/port/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/porting/npl/freertos/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/transport/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/services/gap/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/esp-hci/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/services/gatt/include" + -I"${platformio.packages_dir}/framework-espidf/components/bt/host/nimble/nimble/nimble/host/util/include" custom_sdkconfig = ${esp32_common.custom_sdkconfig}