File tree Expand file tree Collapse file tree 1 file changed +17
-8
lines changed Expand file tree Collapse file tree 1 file changed +17
-8
lines changed Original file line number Diff line number Diff line change @@ -302,16 +302,25 @@ def get_app_includes(app_config):
302
302
303
303
304
304
def extract_defines (compile_group ):
305
- result = []
306
- result .extend (
307
- [
308
- d .get ("define" ).replace ('"' , '\\ "' ).strip ()
309
- for d in compile_group .get ("defines" , [])
310
- ]
311
- )
305
+ def _normalize_define (define_string ):
306
+ define_string = define_string .strip ()
307
+ if "=" in define_string :
308
+ define , value = define_string .split ("=" , maxsplit = 1 )
309
+ if '"' in value and not value .startswith ("\\ " ):
310
+ # Escape only raw values
311
+ value = value .replace ('"' , '\\ "' )
312
+ return (define , value )
313
+ return define_string
314
+
315
+ result = [
316
+ _normalize_define (d .get ("define" , "" ))
317
+ for d in compile_group .get ("defines" , []) if d
318
+ ]
319
+
312
320
for f in compile_group .get ("compileCommandFragments" , []):
313
321
if f .get ("fragment" , "" ).startswith ("-D" ):
314
- result .append (f ["fragment" ][2 :])
322
+ result .append (_normalize_define (f ["fragment" ][2 :]))
323
+
315
324
return result
316
325
317
326
You can’t perform that action at this time.
0 commit comments