{
  "version": 4,
  "configurePresets": [
    {
      "name": "base",
      "hidden": true,
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build-${presetName}",
      "cacheVariables": {
        "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
        "CMAKE_INSTALL_RPATH": "$ORIGIN;$ORIGIN/.."
      }
    },
    {
      "name": "debug",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Debug"
      }
    },
    {
      "name": "release",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release"
      }
    },
    {
      "name": "reldbg",
      "hidden": true,
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "RelWithDebInfo"
      }
    },
    {
      "name": "cpu-avx2-base",
      "hidden": true,
      "inherits": "base",
      "cacheVariables": {
        "GGML_NATIVE": "OFF",
        "GGML_AVX": "ON",
        "GGML_AVX2": "ON",
        "GGML_FMA": "ON",
        "GGML_F16C": "ON",
        "GGML_BLAS": "OFF",
        "GGML_CUDA": "OFF"
      }
    },
    {
      "name": "cuda-base",
      "hidden": true,
      "inherits": "base",
      "cacheVariables": {
        "GGML_CUDA": "ON",
        "GGML_BLAS": "OFF"
      }
    },
    {
      "name": "cpu-avx2-debug",
      "inherits": [
        "cpu-avx2-base",
        "debug"
      ],
      "binaryDir": "${sourceDir}/build_cpu_avx2_debug"
    },
    {
      "name": "cpu-avx2-release",
      "inherits": [
        "cpu-avx2-base",
        "release"
      ],
      "binaryDir": "${sourceDir}/build_cpu_avx2_release"
    },
    {
      "name": "cpu-avx2-reldbg",
      "inherits": [
        "cpu-avx2-base",
        "reldbg"
      ],
      "binaryDir": "${sourceDir}/build_cpu_avx2_reldbg"
    },
    {
      "name": "cuda-debug",
      "inherits": [
        "cuda-base",
        "debug"
      ],
      "binaryDir": "${sourceDir}/build_debug"
    },
    {
      "name": "cuda-release",
      "inherits": [
        "cuda-base",
        "release"
      ],
      "binaryDir": "${sourceDir}/build_release"
    },
    {
      "name": "cuda-reldbg",
      "inherits": [
        "cuda-base",
        "reldbg"
      ],
      "binaryDir": "${sourceDir}/build_cuda_reldbg"
    }
  ],
  "buildPresets": [
    {
      "name": "parallel-build",
      "hidden": true,
      "jobs": 0
    },
    {
      "name": "cpu-avx2-debug",
      "configurePreset": "cpu-avx2-debug",
      "inherits": "parallel-build"
    },
    {
      "name": "cpu-avx2-release",
      "configurePreset": "cpu-avx2-release",
      "inherits": "parallel-build"
    },
    {
      "name": "cpu-avx2-reldbg",
      "configurePreset": "cpu-avx2-reldbg",
      "inherits": "parallel-build"
    },
    {
      "name": "cuda-debug",
      "configurePreset": "cuda-debug",
      "inherits": "parallel-build"
    },
    {
      "name": "cuda-release",
      "configurePreset": "cuda-release",
      "inherits": "parallel-build"
    },
    {
      "name": "cuda-reldbg",
      "configurePreset": "cuda-reldbg",
      "inherits": "parallel-build"
    }
  ]
}
