1{ 2 'target_defaults': { 3 'default_configuration': 'Debug', 4 'configurations': { 5 # TODO: hoist these out and put them somewhere common, because 6 # RuntimeLibrary MUST MATCH across the entire project 7 'Debug': { 8 'defines': [ 'DEBUG', '_DEBUG' ], 9 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ], 10 'msvs_settings': { 11 'VCCLCompilerTool': { 12 'RuntimeLibrary': 1, # static debug 13 }, 14 }, 15 }, 16 'Release': { 17 'defines': [ 'NDEBUG' ], 18 'cflags': [ '-Wall', '-Wextra', '-O3' ], 19 'msvs_settings': { 20 'VCCLCompilerTool': { 21 'RuntimeLibrary': 0, # static release 22 }, 23 }, 24 } 25 }, 26 'msvs_settings': { 27 'VCCLCompilerTool': { 28 # Compile as C++. llhttp.c is actually C99, but C++ is 29 # close enough in this case. 30 'CompileAs': 2, 31 }, 32 'VCLibrarianTool': { 33 }, 34 'VCLinkerTool': { 35 'GenerateDebugInformation': 'true', 36 }, 37 }, 38 'conditions': [ 39 ['OS == "win"', { 40 'defines': [ 41 'WIN32' 42 ], 43 }] 44 ], 45 }, 46} 47