66 lines
1.5 KiB
JSON
66 lines
1.5 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": { "major": 3 },
|
|
|
|
"configurePresets": [
|
|
{
|
|
"name": "base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/bin/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "debug",
|
|
"displayName": "Debug",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_FLAGS_DEBUG": "-g"
|
|
}
|
|
},
|
|
{
|
|
"name": "debug-san",
|
|
"displayName": "Debug + Sanitizers",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"CMAKE_CXX_FLAGS_DEBUG": "-g -fsanitize=address,undefined"
|
|
}
|
|
},
|
|
{
|
|
"name": "release",
|
|
"displayName": "Release",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"CMAKE_CXX_FLAGS_RELEASE": "-O3 -march=native -flto"
|
|
}
|
|
},
|
|
{
|
|
"name": "release-fast",
|
|
"displayName": "Release (Ofast, non-conformant)",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"CMAKE_CXX_FLAGS_RELEASE": "-Ofast -march=native -flto"
|
|
}
|
|
}
|
|
],
|
|
|
|
"buildPresets": [
|
|
{
|
|
"name": "debug",
|
|
"displayName": "Build Debug",
|
|
"configurePreset": "debug"
|
|
},
|
|
{
|
|
"name": "release",
|
|
"displayName": "Build Release",
|
|
"configurePreset": "release"
|
|
}
|
|
]
|
|
}
|