From 3484c41b64dc7d83d2d84788b07b2ee0ce7c97f0 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 11 Feb 2016 00:27:41 +0200 Subject: [PATCH] Fix issue with quotes in CPPDEFINES when dumping data for IDE --- examples/wiring-blink/platformio.ini | 1 - platformio/builder/tools/piomisc.py | 1 + platformio/ide/tpls/atom/.gcc-flags.json.tpl | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/wiring-blink/platformio.ini b/examples/wiring-blink/platformio.ini index b079b0f6..87535386 100644 --- a/examples/wiring-blink/platformio.ini +++ b/examples/wiring-blink/platformio.ini @@ -10,7 +10,6 @@ board = uno platform = espressif framework = arduino board = nodemcu -build_flags = -D LED_BUILTIN=BUILTIN_LED [env:teensy31] platform = teensy diff --git a/platformio/builder/tools/piomisc.py b/platformio/builder/tools/piomisc.py index e366b821..018ad7f7 100644 --- a/platformio/builder/tools/piomisc.py +++ b/platformio/builder/tools/piomisc.py @@ -228,6 +228,7 @@ def DumpIDEData(env): # https://github.com/platformio/platformio-atom-ide/issues/34 _new_defines = [] for item in env_.get("CPPDEFINES", []): + item = item.replace('\\"', '"') if " " in item: _new_defines.append(item.replace(" ", "\\\\ ")) else: diff --git a/platformio/ide/tpls/atom/.gcc-flags.json.tpl b/platformio/ide/tpls/atom/.gcc-flags.json.tpl index 1a6f5241..5af2ea3a 100644 --- a/platformio/ide/tpls/atom/.gcc-flags.json.tpl +++ b/platformio/ide/tpls/atom/.gcc-flags.json.tpl @@ -1,7 +1,7 @@ { "execPath": "{{ cxx_path.replace("\\", "/") }}", - "gccDefaultCFlags": "-fsyntax-only {{! cc_flags.replace(' -MMD ', ' ').replace('"', '\"') }}", - "gccDefaultCppFlags": "-fsyntax-only {{! cxx_flags.replace(' -MMD ', ' ').replace('"', '\"') }}", + "gccDefaultCFlags": "-fsyntax-only {{! cc_flags.replace(' -MMD ', ' ').replace('"', '\\"') }}", + "gccDefaultCppFlags": "-fsyntax-only {{! cxx_flags.replace(' -MMD ', ' ').replace('"', '\\"') }}", "gccErrorLimit": 15, "gccIncludePaths": "{{ ','.join(includes).replace("\\", "/") }}", "gccSuppressWarnings": false