1{
 2  "version": 4,
 3  "configurePresets": [
 4    {
 5        "name":  "base",
 6        "hidden": true,
 7        "generator":   "Ninja",
 8        "binaryDir":   "${sourceDir}/build-${presetName}",
 9        "cacheVariables": {
10            "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
11            "CMAKE_INSTALL_RPATH": "$ORIGIN;$ORIGIN/.."
12        }
13    },
14    {
15        "name": "sycl-base",
16        "hidden": true,
17        "generator": "Ninja",
18        "binaryDir": "${sourceDir}/build-${presetName}",
19        "cacheVariables": {
20            "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
21            "CMAKE_CXX_COMPILER": "icx",
22            "CMAKE_C_COMPILER": "cl",
23            "GGML_SYCL": "ON",
24            "CMAKE_INSTALL_RPATH": "$ORIGIN;$ORIGIN/.."
25        }
26    },
27    { "name": "debug",    "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } },
28    { "name": "release",  "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } },
29    { "name": "reldbg",   "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" } },
30    { "name": "static",   "hidden": true, "cacheVariables": { "GGML_STATIC":      "ON" } },
31    { "name": "sycl_f16", "hidden": true, "cacheVariables": { "GGML_SYCL_F16":    "ON" } },
32    { "name": "vulkan",   "hidden": true, "cacheVariables": { "GGML_VULKAN":      "ON" } },
33
34    {
35        "name": "x64-windows-llvm", "hidden": true,
36        "cacheVariables": {
37            "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/cmake/x64-windows-llvm.cmake"
38        }
39    },
40
41    {
42        "name": "arm64-windows-llvm", "hidden": true,
43        "architecture": { "value": "arm64",    "strategy": "external" },
44        "toolset":      { "value": "host=x64", "strategy": "external" },
45        "cacheVariables": {
46            "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/cmake/arm64-windows-llvm.cmake"
47        }
48    },
49
50    {
51        "name": "arm64-apple-clang", "hidden": true,
52        "architecture": { "value": "arm64",    "strategy": "external" },
53        "toolset":      { "value": "host=x64", "strategy": "external" },
54        "cacheVariables": {
55            "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/cmake/arm64-apple-clang.cmake"
56        }
57    },
58    {
59        "name": "x64-linux-gcc", "hidden": true,
60        "cacheVariables": {
61            "CMAKE_C_COMPILER": "gcc",
62            "CMAKE_CXX_COMPILER": "g++"
63        }
64    },
65    { "name": "x64-linux-gcc-debug", "inherits": [ "base", "x64-linux-gcc", "debug" ] },
66    { "name": "x64-linux-gcc-release", "inherits": [ "base", "x64-linux-gcc", "release" ] },
67    { "name": "x64-linux-gcc-reldbg", "inherits": [ "base", "x64-linux-gcc", "reldbg" ] },
68    { "name": "x64-linux-gcc+static-release", "inherits": [ "base", "x64-linux-gcc", "release", "static" ] },
69
70    { "name": "arm64-windows-llvm-debug", "inherits": [ "base", "arm64-windows-llvm", "debug" ] },
71    { "name": "arm64-windows-llvm-release", "inherits": [ "base", "arm64-windows-llvm", "reldbg" ] },
72    { "name": "arm64-windows-llvm+static-release", "inherits": [ "base", "arm64-windows-llvm", "reldbg", "static" ] },
73
74    { "name": "arm64-apple-clang-debug", "inherits": [ "base", "arm64-apple-clang", "debug" ] },
75    { "name": "arm64-apple-clang-release", "inherits": [ "base", "arm64-apple-clang", "reldbg" ] },
76    { "name": "arm64-apple-clang+static-release", "inherits": [ "base", "arm64-apple-clang",  "reldbg", "static" ] },
77
78    { "name": "x64-windows-llvm-debug", "inherits": [ "base", "x64-windows-llvm", "debug" ] },
79    { "name": "x64-windows-llvm-release", "inherits": [ "base", "x64-windows-llvm", "release" ] },
80    { "name": "x64-windows-llvm-reldbg", "inherits": [ "base", "x64-windows-llvm", "reldbg" ] },
81    { "name": "x64-windows-llvm+static-release", "inherits": [ "base", "x64-windows-llvm", "reldbg", "static" ] },
82
83    { "name": "x64-windows-msvc-debug", "inherits": [ "base", "debug" ] },
84    { "name": "x64-windows-msvc-release", "inherits": [ "base", "reldbg" ] },
85    { "name": "x64-windows-msvc+static-release", "inherits": [ "base", "reldbg", "static" ] },
86
87    { "name": "x64-windows-sycl-debug", "inherits": [ "sycl-base", "debug" ] },
88    { "name": "x64-windows-sycl-debug-f16", "inherits": [ "sycl-base", "debug", "sycl_f16" ] },
89    { "name": "x64-windows-sycl-release", "inherits": [ "sycl-base", "release" ] },
90    { "name": "x64-windows-sycl-release-f16", "inherits": [ "sycl-base", "release", "sycl_f16" ] },
91
92    { "name": "x64-windows-vulkan-debug", "inherits": [ "base", "vulkan", "debug" ] },
93    { "name": "x64-windows-vulkan-release", "inherits": [ "base", "vulkan", "release" ] }
94  ]
95}