|
67 | 67 | ], |
68 | 68 |
|
69 | 69 | "variables": { |
70 | | - "tests": 0 |
| 70 | + "tests": 0, |
| 71 | + "STANDARD": 17, |
| 72 | + "MACOSX_DEPLOYMENT_TARGET": "10.15" |
71 | 73 | }, |
72 | 74 |
|
73 | 75 | "conditions": [ |
|
100 | 102 | "conditions": [ |
101 | 103 | ['OS=="mac"', { |
102 | 104 | 'cflags': [ |
103 | | - '-mmacosx-version-min=10.8' |
| 105 | + "-mmacosx-version-min=<(MACOSX_DEPLOYMENT_TARGET)" |
104 | 106 | ], |
105 | 107 | "xcode_settings": { |
106 | 108 | "GCC_ENABLE_CPP_EXCEPTIONS": "YES", |
107 | | - 'MACOSX_DEPLOYMENT_TARGET': '10.8', |
| 109 | + 'MACOSX_DEPLOYMENT_TARGET': '<(MACOSX_DEPLOYMENT_TARGET)', |
108 | 110 | } |
109 | 111 | }] |
110 | 112 | ] |
111 | 113 | }] |
112 | 114 | }] |
113 | 115 | ], |
114 | | - |
115 | 116 | "target_defaults": { |
116 | | - "cflags_cc": ["-std=c++11"], |
| 117 | + "cflags_cc": [ "-std=c++<(STANDARD)" ], |
117 | 118 | "conditions": [ |
118 | 119 | ['OS=="mac"', { |
119 | 120 | "xcode_settings": { |
120 | 121 | 'CLANG_CXX_LIBRARY': 'libc++', |
121 | | - 'CLANG_CXX_LANGUAGE_STANDARD':'c++11', |
| 122 | + 'CLANG_CXX_LANGUAGE_STANDARD':'c++(STANDARD)', |
122 | 123 | } |
123 | 124 | }], |
124 | 125 | ['OS=="win"', { |
|
129 | 130 | "NOMINMAX" |
130 | 131 | ], |
131 | 132 | }] |
132 | | - ] |
133 | | - } |
| 133 | + ], |
| 134 | + 'default_configuration': 'Release', |
| 135 | + 'configurations': { |
| 136 | + # Release Settings |
| 137 | + 'Release': { |
| 138 | + 'defines': [ 'NDEBUG' ], |
| 139 | + "cflags": [ "-fno-exceptions", "-O3" ], |
| 140 | + "cflags_cc": [ "-fno-exceptions", "-O3", "-std=c++<(STANDARD)" ], |
| 141 | + "xcode_settings": { |
| 142 | + 'GCC_OPTIMIZATION_LEVEL': '3', # stop gyp from defaulting to -Os |
| 143 | + "CLANG_CXX_LIBRARY": "libc++", |
| 144 | + "CLANG_CXX_LANGUAGE_STANDARD": "c++<(STANDARD)", |
| 145 | + 'MACOSX_DEPLOYMENT_TARGET': "<(MACOSX_DEPLOYMENT_TARGET)" |
| 146 | + }, # XCODE |
| 147 | + "msvs_settings": { |
| 148 | + "VCCLCompilerTool": { |
| 149 | + 'ExceptionHandling': 0, # /EHsc |
| 150 | + 'MultiProcessorCompilation': 'true', |
| 151 | + 'RuntimeTypeInfo': 'false', |
| 152 | + 'Optimization': 3, # full optimizations /O2 == /Og /Oi /Ot /Oy /Ob2 /GF /Gy |
| 153 | + 'StringPooling': 'true', # pool string literals |
| 154 | + "AdditionalOptions": [ |
| 155 | + # C++ standard |
| 156 | + "/std:c++<(STANDARD)", |
| 157 | + |
| 158 | + # Optimizations |
| 159 | + "/O2", |
| 160 | + # "/Ob3", # aggressive inline |
| 161 | + "/GL", # whole Program Optimization # /LTCG is implied with /GL. |
| 162 | + "/DNDEBUG" # turn off asserts |
| 163 | + ], |
| 164 | + } |
| 165 | + } # MSVC |
| 166 | + }, # Release |
| 167 | + }, # configurations |
| 168 | + } # target-defaults |
134 | 169 | } |
0 commit comments