{ 'target_defaults': { 'default_configuration': 'Release' }, "targets": [ { 'configurations': { 'Debug': { 'cflags': ['-g3', '-O0'], 'msvs_settings': { 'VCCLCompilerTool': { 'BasicRuntimeChecks': 3, # /RTC1 'ExceptionHandling': 1, # /EHsc 'Optimization': '0', # /Od, no optimization 'WarningLevel': 4 }, 'VCLinkerTool': { 'GenerateDebugInformation': 'true', 'LinkIncremental': 2 # enable incremental linking } } }, 'Release': { 'cflags': ['-O2', '-W', '-Wall', '-Wextra', '-ansi'], 'msvs_settings': { 'VCCLCompilerTool': { 'AdditionalOptions': ['/Zc:inline', '/MP'], 'BufferSecurityCheck': 'true', 'ExceptionHandling': 1, # /EHsc 'FavorSizeOrSpeed': '1', 'OmitFramePointers': 'false', # Ideally, we should only disable for x64 'Optimization': '2', 'StringPooling': 'true', 'WarningLevel': 3, 'WholeProgramOptimization': 'true' }, 'VCLinkerTool': { 'DataExecutionPrevention': 2, # enable DEP 'EnableCOMDATFolding': 2, # /OPT:ICF 'LinkIncremental': 1, # disable incremental linking 'LinkTimeCodeGeneration': 1, # link-time code generation 'OptimizeReferences': 2, # /OPT:REF 'RandomizedBaseAddress': 2, # enable ASLR 'SetChecksum': 'true' } } } }, "target_name": "<(module_name)", 'lflags': ['-lm'], "include_dirs": [ "zopfli/src/zopfli", "zopfli/src/zopflipng", "