{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    // Available variables which can be used inside of strings.
    // ${workspaceRoot}: the root folder of the team
    // ${file}: the current opened file
    // ${fileBasename}: the current opened file's basename
    // ${fileDirname}: the current opened file's dirname
    // ${fileExtname}: the current opened file's extension
    // ${cwd}: the current working directory of the spawned process
    "version": "2.0.0",
    "tasks": [
        {
            "label": "make",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "type": "shell",
            "osx": {
                "command": "sh",
                "args": [
                    "-c",
                    "cmake --build . && echo Done"
                ],
                "options": {
                    "cwd": "${workspaceRoot}/build",
                },
            },
            "linux": {
                "command": "sh",
                "args": [
                    "-c",
                    "cmake --build . && echo Done"
                ],
                "options": {
                    "cwd": "${workspaceRoot}/build",
                },
            },
            "windows": {
                // Invokes ninja in the 'out/active' directory, which is created
                // with the 'generate' task (see below).
                "command": "/C",
                "args": [
                    "ninja && echo Done"
                ],
                "options": {
                    "cwd": "${workspaceRoot}/out/active",
                    "shell": {
                        "executable": "cmd"
                    }
                },
            },
            "presentation": {
                "echo": false,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true,
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        {
            "label": "configure",
            "type": "shell",
            "osx": {
                "command": "cmake",
                "args": [
                    "..",
                    "-GNinja",
                    "-DCMAKE_BUILD_TYPE=${input:buildType}",
                ],
                "options": {
                    "cwd": "${workspaceRoot}/build"
                },
            },
            "linux": {
                "command": "cmake",
                "args": [
                    "..",
                    "-GNinja",
                    "-DCMAKE_BUILD_TYPE=${input:buildType}",
                ],
                "options": {
                    "cwd": "${workspaceRoot}/build"
                },
            },
            "windows": {
                // Generates a GN build directory at 'out/<build-type>' with the
                // is_debug argument set to true iff the build-type is Debug.
                // A symbolic link to this build directory is created at 'out/active'
                // which is used to track the active build directory.
                "command": "/C",
                "args": [
                    "(IF \"${input:buildType}\" == \"Debug\" ( gn gen \"out\\${input:buildType}\" --args=is_debug=true ) ELSE ( gn gen \"out\\${input:buildType}\" --args=is_debug=false )) && (IF EXIST \"out\\active\" rmdir \"out\\active\" /q /s) && (mklink /j \"out\\active\" \"out\\${input:buildType}\")",
                ],
                "options": {
                    "shell": {
                        "executable": "cmd"
                    }
                },
            },
            "problemMatcher": [],
        },
        {
            "label": "Push branch for review",
            "type": "shell",
            "command": "git",
            "args": [
                "push",
                "origin",
                "HEAD:refs/for/main"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": [],
        }
    ],
    "inputs": [
        {
            "id": "buildType",
            "type": "pickString",
            "options": [
                "Debug",
                "Release",
                "MinSizeRel",
                "RelWithDebInfo",
            ],
            "default": "Debug",
            "description": "The type of build",
        },
    ]
}