{
    "version": 3,
    "configurePresets": [
        {
            "name": "linux-debug",
            "displayName": "Linux Debug",
            "description": "Target the Windows Subsystem for Linux (WSL) or a remote Linux system.",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Linux"
            },
            "vendor": { "microsoft.com/VisualStudioRemoteSettings/CMake/2.0": { "remoteSourceRootDir": "$env{HOME}/.vs/$ms{projectDirName}" } }
        },
        {
            "name": "macos-debug",
            "displayName": "macOS Debug",
            "description": "Target a remote macOS system.",
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "vendor": { "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" } }
        },
        {
            "name": "windows-base",
            "description": "Target Windows with the Visual Studio development environment.",
            "hidden": true,
            "generator": "Ninja",
            "binaryDir": "${sourceDir}/out/build/${presetName}",
            "installDir": "${sourceDir}/out/install/${presetName}",
            "cacheVariables": {
                "CMAKE_C_COMPILER": "cl.exe",
                "CMAKE_CXX_COMPILER": "cl.exe",
                "TESSESFRAMEWORK_ENABLE_MBED":  false,
                "TESSESFRAMEWORK_FETCHCONTENT": false
            },
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            }
        },
        {
            "name": "x64-debug",
            "displayName": "x64 Debug",
            "description": "Target Windows (64-bit) with the Visual Studio development environment. (Debug)",
            "inherits": "windows-base",
            "architecture": {
                "value": "x64",
                "strategy": "external"
            },
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
        },
        {
            "name": "x64-release",
            "displayName": "x64 Release",
            "description": "Target Windows (64-bit) with the Visual Studio development environment. (RelWithDebInfo)",
            "inherits": "x64-debug",
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" }
        },
        {
            "name": "x86-debug",
            "displayName": "x86 Debug",
            "description": "Target Windows (32-bit) with the Visual Studio development environment. (Debug)",
            "inherits": "windows-base",
            "architecture": {
                "value": "x86",
                "strategy": "external"
            },
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }
        },
        {
            "name": "x86-release",
            "displayName": "x86 Release",
            "description": "Target Windows (32-bit) with the Visual Studio development environment. (RelWithDebInfo)",
            "inherits": "x86-debug",
            "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" }
        }
    ]
}