From 827ff2eb427f4f520bba25bcb02fa30e63a03659 Mon Sep 17 00:00:00 2001 From: davidcranor Date: Tue, 3 Mar 2026 15:19:32 -0500 Subject: [PATCH] Fix cross-platform build: replace ${PROJECT_DIR} with relative paths platformio.ini: - Replace -I${PROJECT_DIR}/lib, -I${PROJECT_DIR}/deps/... with relative paths (-Ilib, -Ideps/...) in both tdeck-bluedroid and tdeck environments; ${PROJECT_DIR} is mangled on Windows inside build_flags, causing include paths to resolve inside the PlatformIO builder directory instead of the project root - Remove hardcoded -I.pio/libdeps/tdeck/TinyGPSPlus/src and -I.pio/libdeps/tdeck/NimBLE-Arduino/src; these paths reference generated cache, break on fresh clones, and are redundant with lib_ldf_mode = deep+ - Fix OTA upload_command: replace python3 with $PYTHONEXE so it resolves to PlatformIO's bundled Python on Windows, macOS, and Linux src/main.cpp, lib/tdeck_ui/UI/LXMF/UIManager.cpp: - Change #include "tone/Tone.h" to #include "Tone.h"; PlatformIO automatically adds -Ilib/tone for local libraries, making the subdirectory prefix unnecessary and broken when -Ilib is not effective Co-Authored-By: Claude Sonnet 4.6 --- lib/tdeck_ui/UI/LXMF/UIManager.cpp | 2 +- platformio.ini | 16 +++++++--------- src/main.cpp | 2 +- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/tdeck_ui/UI/LXMF/UIManager.cpp b/lib/tdeck_ui/UI/LXMF/UIManager.cpp index 0ad45b48..56cb6a13 100644 --- a/lib/tdeck_ui/UI/LXMF/UIManager.cpp +++ b/lib/tdeck_ui/UI/LXMF/UIManager.cpp @@ -8,7 +8,7 @@ #include #include #include "Log.h" -#include "tone/Tone.h" +#include "Tone.h" #include "../LVGL/LVGLLock.h" #include "lxst_audio.h" #include "Packet.h" diff --git a/platformio.ini b/platformio.ini index 02b7ee6c..bce445e7 100644 --- a/platformio.ini +++ b/platformio.ini @@ -58,9 +58,9 @@ build_flags = -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 -DLV_CONF_INCLUDE_SIMPLE - -I${PROJECT_DIR}/lib - -I${PROJECT_DIR}/deps/microReticulum/lib/libbz2 - -I${PROJECT_DIR}/deps/microReticulum/src + -Ilib + -Ideps/microReticulum/lib/libbz2 + -Ideps/microReticulum/src -DBZ_NO_STDIO -DUSE_BLUEDROID -Os @@ -138,11 +138,9 @@ build_flags = -DARDUINO_USB_CDC_ON_BOOT=1 -DARDUINO_USB_MODE=1 -DLV_CONF_INCLUDE_SIMPLE - -I${PROJECT_DIR}/lib - -I${PROJECT_DIR}/deps/microReticulum/lib/libbz2 - -I${PROJECT_DIR}/deps/microReticulum/src - -I.pio/libdeps/tdeck/TinyGPSPlus/src - -I.pio/libdeps/tdeck/NimBLE-Arduino/src + -Ilib + -Ideps/microReticulum/lib/libbz2 + -Ideps/microReticulum/src -DBZ_NO_STDIO -DUSE_NIMBLE -DCONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=1 @@ -163,4 +161,4 @@ build_flags = [env:tdeck-ota] extends = env:tdeck upload_protocol = custom -upload_command = python3 tools/espota.py -i pyxis-tdeck.local -p 3232 -f $SOURCE +upload_command = "$PYTHONEXE" tools/espota.py -i pyxis-tdeck.local -p 3232 -f $SOURCE diff --git a/src/main.cpp b/src/main.cpp index 3cbad586..7efe5001 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -58,7 +58,7 @@ #include // Audio notifications -#include "tone/Tone.h" +#include "Tone.h" // Logging #include