{
  "version": 3,
  "configurePresets": [
    {
      "name": "vs2022",
      "displayName": "Build using 'Visual Studio 17 2022' generator and 'x64-windows' triplet",
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Windows"
      },
      "generator": "Visual Studio 17 2022",
      "architecture": "x64",
      "toolchainFile": "$env{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake",
      "cacheVariables": {
        "VCPKG_TARGET_TRIPLET": "x64-windows",
        "BUILD_GUI": "ON"
      }
    },
    {
      "name": "vs2022-static",
      "displayName": "Build using 'Visual Studio 17 2022' generator and 'x64-windows-static' triplet",
      "condition": {
        "type": "equals",
        "lhs": "${hostSystemName}",
        "rhs": "Windows"
      },
      "generator": "Visual Studio 17 2022",
      "architecture": "x64",
      "toolchainFile": "$env{VCPKG_ROOT}\\scripts\\buildsystems\\vcpkg.cmake",
      "cacheVariables": {
        "VCPKG_TARGET_TRIPLET": "x64-windows-static",
        "BUILD_GUI": "ON"
      }
    },
    {
      "name": "libfuzzer",
      "displayName": "Build for fuzzing with libfuzzer, and sanitizers enabled",
      "binaryDir": "${sourceDir}/build_fuzz",
      "cacheVariables": {
        "BUILD_FOR_FUZZING": "ON",
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_C_FLAGS": "-ftrivial-auto-var-init=pattern",
        "CMAKE_CXX_COMPILER": "clang++",
        "CMAKE_CXX_FLAGS": "-ftrivial-auto-var-init=pattern",
        "SANITIZERS": "undefined,address,fuzzer"
      }
    },
    {
      "name": "libfuzzer-nosan",
      "displayName": "Build for fuzzing with libfuzzer, and sanitizers disabled",
      "binaryDir": "${sourceDir}/build_fuzz_nosan",
      "cacheVariables": {
        "BUILD_FOR_FUZZING": "ON",
        "CMAKE_C_COMPILER": "clang",
        "CMAKE_CXX_COMPILER": "clang++",
        "SANITIZERS": "fuzzer"
      }
    },
    {
      "name": "dev-mode",
      "displayName": "Developer mode, with all features/dependencies enabled",
      "binaryDir": "${sourceDir}/build_dev_mode",
      "errors": {"dev": true},
      "cacheVariables": {
        "BUILD_BENCH": "ON",
        "BUILD_CLI": "ON",
        "BUILD_DAEMON": "ON",
        "BUILD_FUZZ_BINARY": "ON",
        "BUILD_GUI": "ON",
        "BUILD_GUI_TESTS": "ON",
        "BUILD_KERNEL_LIB": "ON",
        "BUILD_SHARED_LIBS": "ON",
        "BUILD_TESTS": "ON",
        "BUILD_TX": "ON",
        "BUILD_UTIL": "ON",
        "BUILD_UTIL_CHAINSTATE": "ON",
        "BUILD_WALLET_TOOL": "ON",
        "ENABLE_EXTERNAL_SIGNER": "ON",
        "ENABLE_WALLET": "ON",
        "ENABLE_IPC": "ON",
        "WITH_QRENCODE": "ON",
        "WITH_USDT": "ON",
        "WITH_ZMQ": "ON"
      }
    }
  ]
}
