{
    "$schema": "https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de736ba5e361/schema.json",
    "version": 8,
    "cmakeMinimumRequired": {
        "major": 3,
        "minor": 28
    },
    "configurePresets": [
        {
            "name": "base",
            "hidden": true,
            "binaryDir": "build",
            "installDir": "install",
            "generator": "Ninja Multi-Config",
            "cacheVariables": {
                "Launcher_BUILD_ARTIFACT": "$penv{ARTIFACT_NAME}",
                "Launcher_BUILD_PLATFORM": "$penv{BUILD_PLATFORM}",
                "Launcher_ENABLE_JAVA_DOWNLOADER": "ON",
                "ENABLE_LTO": "ON"
            }
        },
        {
            "name": "linux",
            "displayName": "Linux",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Linux"
            }
        },
        {
            "name": "macos",
            "displayName": "macOS",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "cacheVariables": {
                "CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
            }
        },
        {
            "name": "macos_universal",
            "displayName": "macOS (Universal Binary)",
            "inherits": [
                "macos"
            ],
            "cacheVariables": {
                "CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
                "CMAKE_OSX_ARCHITECTURES": "x86_64;arm64",
                "VCPKG_TARGET_TRIPLET": "universal-osx"
            }
        },
        {
            "name": "windows_mingw",
            "displayName": "Windows (MinGW)",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            }
        },
        {
            "name": "windows_msvc",
            "displayName": "Windows (MSVC)",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            },
            "cacheVariables": {
                "CMAKE_TOOLCHAIN_FILE": "$penv{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
            }
        }
    ],
    "buildPresets": [
        {
            "name": "linux",
            "displayName": "Linux",
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Linux"
            },
            "configurePreset": "linux"
        },
        {
            "name": "macos",
            "displayName": "macOS",
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "configurePreset": "macos"
        },
        {
            "name": "macos_universal",
            "displayName": "macOS (Universal Binary)",
            "inherits": [
                "macos"
            ],
            "configurePreset": "macos_universal"
        },
        {
            "name": "windows_mingw",
            "displayName": "Windows (MinGW)",
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            },
            "configurePreset": "windows_mingw"
        },
        {
            "name": "windows_msvc",
            "displayName": "Windows (MSVC)",
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            },
            "configurePreset": "windows_msvc"
        }
    ],
    "testPresets": [
        {
            "name": "base",
            "hidden": true,
            "output": {
                "outputOnFailure": true,
                "verbosity": "extra"
            },
            "execution": {
                "noTestsAction": "error"
            },
            "filter": {
                "exclude": {
                    "name": "^example64|example$"
                }
            }
        },
        {
            "name": "linux",
            "displayName": "Linux",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Linux"
            },
            "configurePreset": "linux"
        },
        {
            "name": "macos",
            "displayName": "macOS",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "configurePreset": "macos"
        },
        {
            "name": "macos_universal",
            "displayName": "macOS (Universal Binary)",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Darwin"
            },
            "configurePreset": "macos_universal"
        },
        {
            "name": "windows_mingw",
            "displayName": "Windows (MinGW)",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            },
            "configurePreset": "windows_mingw"
        },
        {
            "name": "windows_msvc",
            "displayName": "Windows (MSVC)",
            "inherits": [
                "base"
            ],
            "condition": {
                "type": "equals",
                "lhs": "${hostSystemName}",
                "rhs": "Windows"
            },
            "configurePreset": "windows_msvc"
        }
    ]
}
