|
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