12c593315Sopenharmony_ci{
22c593315Sopenharmony_ci  'target_defaults': {
32c593315Sopenharmony_ci    'default_configuration': 'Debug',
42c593315Sopenharmony_ci    'configurations': {
52c593315Sopenharmony_ci      # TODO: hoist these out and put them somewhere common, because
62c593315Sopenharmony_ci      #       RuntimeLibrary MUST MATCH across the entire project
72c593315Sopenharmony_ci      'Debug': {
82c593315Sopenharmony_ci        'defines': [ 'DEBUG', '_DEBUG' ],
92c593315Sopenharmony_ci        'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ],
102c593315Sopenharmony_ci        'msvs_settings': {
112c593315Sopenharmony_ci          'VCCLCompilerTool': {
122c593315Sopenharmony_ci            'RuntimeLibrary': 1, # static debug
132c593315Sopenharmony_ci          },
142c593315Sopenharmony_ci        },
152c593315Sopenharmony_ci      },
162c593315Sopenharmony_ci      'Release': {
172c593315Sopenharmony_ci        'defines': [ 'NDEBUG' ],
182c593315Sopenharmony_ci        'cflags': [ '-Wall', '-Wextra', '-O3' ],
192c593315Sopenharmony_ci        'msvs_settings': {
202c593315Sopenharmony_ci          'VCCLCompilerTool': {
212c593315Sopenharmony_ci            'RuntimeLibrary': 0, # static release
222c593315Sopenharmony_ci          },
232c593315Sopenharmony_ci        },
242c593315Sopenharmony_ci      }
252c593315Sopenharmony_ci    },
262c593315Sopenharmony_ci    'msvs_settings': {
272c593315Sopenharmony_ci      'VCCLCompilerTool': {
282c593315Sopenharmony_ci        # Compile as C++. llhttp.c is actually C99, but C++ is
292c593315Sopenharmony_ci        # close enough in this case.
302c593315Sopenharmony_ci        'CompileAs': 2,
312c593315Sopenharmony_ci      },
322c593315Sopenharmony_ci      'VCLibrarianTool': {
332c593315Sopenharmony_ci      },
342c593315Sopenharmony_ci      'VCLinkerTool': {
352c593315Sopenharmony_ci        'GenerateDebugInformation': 'true',
362c593315Sopenharmony_ci      },
372c593315Sopenharmony_ci    },
382c593315Sopenharmony_ci    'conditions': [
392c593315Sopenharmony_ci      ['OS == "win"', {
402c593315Sopenharmony_ci        'defines': [
412c593315Sopenharmony_ci          'WIN32'
422c593315Sopenharmony_ci        ],
432c593315Sopenharmony_ci      }]
442c593315Sopenharmony_ci    ],
452c593315Sopenharmony_ci  },
462c593315Sopenharmony_ci}
47