{
    "version": 8,
    "configurePresets": [
        {
            "name": "windows-base",
            "hidden": true,
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": {
                "CMAKE_C_COMPILER": "clang-cl.exe",
                "CMAKE_CXX_COMPILER": "clang-cl.exe",
                "CMAKE_LINKER": "lld-link.exe",
                "CMAKE_TOOLCHAIN_FILE": {
                    "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
                    "type": "FILEPATH"
                }
            },
            "environment": {
                "VCPKG_ROOT": "${sourceDir}/thirdparty/vcpkg"
            },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            }
        },
        {
            "name": "x64-Clang-Debug",
            "displayName": "Debug",
            "inherits": "windows-base",
            "architecture": {
                "value": "x64",
                "strategy": "external"
            },
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug",
                "VCPKG_TARGET_TRIPLET": {
                    "value": "x64-windows-static",
                    "type": "STRING"
                }
            }
        },
        {
            "name": "x64-Clang-RelWithDebInfo",
            "displayName": "RelWithDebInfo",
            "inherits": "x64-Clang-Debug",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "RelWithDebInfo"
            }
        },
        {
            "name": "x64-Clang-Release",
            "displayName": "Release",
            "inherits": "x64-Clang-Debug",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_INTERPROCEDURAL_OPTIMIZATION": true
            }
        },
        {
            "name": "linux-base",
            "hidden": true,
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": {
                "CMAKE_TOOLCHAIN_FILE": {
                    "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
                    "type": "FILEPATH"
                },
                "VCPKG_TARGET_TRIPLET": {
                    "value": "x64-linux",
                    "type": "STRING"
                },
                "VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/toolchains/linux-clang.cmake"
            },
            "environment": {
                "VCPKG_ROOT": "${sourceDir}/thirdparty/vcpkg"
            },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Linux"
            },
            "vendor": {
                "microsoft.com/VisualStudioRemoteSettings/CMake/2.0": {
                    "remoteSourceRootDir": "$env{HOME}/.vs/$ms{projectDirName}"
                }
            }
        },
        {
            "name": "linux-debug",
            "displayName": "Linux-Debug",
            "inherits": "linux-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug"
            }
        },
        {
            "name": "linux-relwithdebinfo",
            "displayName": "Linux-RelWithDebInfo",
            "inherits": "linux-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "RelWithDebInfo"
            }
        },
        {
            "name": "linux-release",
            "displayName": "Linux-Release",
            "inherits": "linux-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_INTERPROCEDURAL_OPTIMIZATION": true
            }
        },
        {
            "name": "macos-base",
            "hidden": true,
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": {
                "CMAKE_TOOLCHAIN_FILE": {
                    "value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
                    "type": "FILEPATH"
                },
                "CMAKE_OSX_DEPLOYMENT_TARGET": "13.0"
            },
            "environment": {
                "VCPKG_ROOT": "${sourceDir}/thirdparty/vcpkg"
            },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "vendor": {
                "microsoft.com/VisualStudioRemoteSettings/CMake/2.0": {
                    "remoteSourceRootDir": "$env{HOME}/.vs/$ms{projectDirName}"
                }
            }
        },
        {
            "name": "macos-debug",
            "displayName": "macOS-Debug",
            "inherits": "macos-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Debug"
            }
        },
        {
            "name": "macos-relwithdebinfo",
            "displayName": "macOS-RelWithDebInfo",
            "inherits": "macos-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "RelWithDebInfo"
            }
        },
        {
            "name": "macos-release",
            "displayName": "macOS-Release",
            "inherits": "macos-base",
            "cacheVariables": {
                "CMAKE_BUILD_TYPE": "Release",
                "CMAKE_INTERPROCEDURAL_OPTIMIZATION": true
            }
        }
    ]
}
