1{
 2  "version": 5,
 3  "configurePresets": [
 4    {
 5        "name": "arm64-android-snapdragon",
 6        "hidden": true,
 7        "architecture": { "value": "arm64",       "strategy": "external" },
 8        "toolset":      { "value": "host=x86_64", "strategy": "external" },
 9        "cacheVariables": {
10            "ANDROID_ABI":      "arm64-v8a",
11            "ANDROID_PLATFORM": "android-31",
12            "CMAKE_TOOLCHAIN_FILE": "$env{ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake",
13            "CMAKE_C_FLAGS":   "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -fno-finite-math-only -flto -D_GNU_SOURCE",
14            "CMAKE_CXX_FLAGS": "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -fno-finite-math-only -flto -D_GNU_SOURCE",
15            "CMAKE_C_FLAGS_RELEASE":          "-O3 -DNDEBUG",
16            "CMAKE_CXX_FLAGS_RELEASE":        "-O3 -DNDEBUG",
17            "CMAKE_C_FLAGS_RELWITHDEBINFO":   "-O3 -DNDEBUG -g",
18            "CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g",
19            "CMAKE_PREFIX_PATH":  "$env{OPENCL_SDK_ROOT}",
20            "HEXAGON_SDK_ROOT":   "$env{HEXAGON_SDK_ROOT}",
21            "HEXAGON_TOOLS_ROOT": "$env{HEXAGON_TOOLS_ROOT}",
22            "PREBUILT_LIB_DIR": "android_aarch64",
23            "GGML_OPENMP":      "OFF",
24            "GGML_LLAMAFILE":   "OFF",
25            "GGML_OPENCL":      "ON",
26            "GGML_HEXAGON":     "ON",
27            "GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE": "128",
28            "LLAMA_OPENSSL":    "OFF"
29        }
30    },
31
32    {
33        "name": "arm64-windows-snapdragon",
34        "inherits": [ "base", "arm64-windows-llvm" ],
35        "cacheVariables": {
36            "CMAKE_C_FLAGS":   "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -flto -D_GNU_SOURCE",
37            "CMAKE_CXX_FLAGS": "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -flto -D_GNU_SOURCE",
38            "CMAKE_C_FLAGS_RELEASE":          "-O3 -DNDEBUG",
39            "CMAKE_CXX_FLAGS_RELEASE":        "-O3 -DNDEBUG",
40            "CMAKE_C_FLAGS_RELWITHDEBINFO":   "-O3 -DNDEBUG -g",
41            "CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g",
42            "CMAKE_PREFIX_PATH":  "$env{OPENCL_SDK_ROOT}",
43            "HEXAGON_SDK_ROOT":   "$env{HEXAGON_SDK_ROOT}",
44            "HEXAGON_TOOLS_ROOT": "$env{HEXAGON_TOOLS_ROOT}",
45            "PREBUILT_LIB_DIR": "windows_aarch64",
46            "GGML_OPENMP":      "OFF",
47            "GGML_LLAMAFILE":   "OFF",
48            "GGML_OPENCL":      "ON",
49            "GGML_HEXAGON":     "ON",
50            "GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE": "128",
51            "LLAMA_OPENSSL":    "OFF"
52        }
53    },
54
55    { "name": "arm64-android-snapdragon-debug"  , "inherits": [ "base", "arm64-android-snapdragon", "debug" ] },
56    { "name": "arm64-android-snapdragon-release", "inherits": [ "base", "arm64-android-snapdragon", "release" ] },
57
58    { "name": "arm64-windows-snapdragon-debug"  , "inherits": [ "base", "arm64-windows-snapdragon", "debug" ] },
59    { "name": "arm64-windows-snapdragon-release", "inherits": [ "base", "arm64-windows-snapdragon", "release" ] }
60  ]
61}