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):
302302
303303
304304def 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+
312320 for f in compile_group .get ("compileCommandFragments" , []):
313321 if f .get ("fragment" , "" ).startswith ("-D" ):
314- result .append (f ["fragment" ][2 :])
322+ result .append (_normalize_define (f ["fragment" ][2 :]))
323+
315324 return result
316325
317326
You can’t perform that action at this time.
0 commit comments