vcpkg-cmake-template/CMakePresets.json
2024-08-03 19:17:36 +02:00

86 lines
1.9 KiB
JSON

{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 23,
"patch": 0
},
"configurePresets": [
{
"name": "default",
"hidden": true,
"displayName": "Default Config",
"description": "Default options",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"USE_VCPKG": "ON",
"CMAKE_CXX_FLAGS_INIT": "-Wconversion -Wno-unused-parameter -Wno-unused-variable -Weffc++",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_VERBOSE_MAKEFILE": "ON"
},
"environment": {
"VCPKG_DISABLE_METRICS": "1",
"VCPKG_FORCE_SYSTEM_BINARIES": "1"
}
},
{
"name": "debug",
"inherits": "default",
"displayName": "Debug",
"description": "Debug build with address sanitizer",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXE_LINKER_FLAGS": "-fsanitize=address,undefined"
}
},
{
"name": "release",
"inherits": "default",
"displayName": "Release",
"description": "Release build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "native",
"inherits": "release",
"displayName": "Release march=native",
"description": "Release build with native cpu optimization",
"cacheVariables": {
"CMAKE_CXX_FLAGS_INIT": "-march=native"
}
}
],
"buildPresets": [
{
"name": "debug",
"configurePreset": "debug"
},
{
"name": "release",
"configurePreset": "release"
},
{
"name": "native",
"configurePreset": "native"
}
],
"workflowPresets": [
{
"name": "debug",
"description": "development workflow",
"steps": [
{
"type": "configure",
"name": "debug"
},
{
"type": "build",
"name": "debug"
}
]
}
]
}