{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "clear",
            "type": "shell",
            "command": "rm -r ${workspaceRoot}/build && mkdir ${workspaceRoot}/build"
        },
        {
            "label": "cmake",
            "type": "shell",
            "command": "cmake",
            "args": ["-DFIXED_WINDOW=1", ".."],
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "cmake info",
            "type": "shell",
            "command": "cmake",
            "args": ["-DFIXED_WINDOW=1", "-DCMAKE_BUILD_TYPE=RelWithDebInfo", ".."],
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "cmake debug",
            "type": "shell",
            "command": "cmake",
            "args": ["-DFIXED_WINDOW=1", "-DCMAKE_BUILD_TYPE=Debug", ".."],
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "make",
            "type": "shell",
            "command": "make",
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "make server",
            "type": "shell",
            "command": "make",
            "args": ["univerxel-server"],
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "exec",
            "type": "shell",
            "command": "./univerxel",
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "exec memcheck",
            "type": "shell",
            "command": "valgrind --leak-check=full --show-leak-kinds=all --fair-sched=yes ./univerxel",
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "exec helgrind",
            "type": "shell",
            "command": "valgrind --tool=helgrind --fair-sched=yes ./univerxel",
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "exec callgrind",
            "type": "shell",
            "command": "valgrind --tool=callgrind --simulate-cache=yes --fair-sched=yes ./univerxel",
            "options": {
                "cwd": "${workspaceRoot}/build"
            }
        },
        {
            "label": "Build",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["cmake", "make"]
        },
        {
            "label": "Build info",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["cmake info", "make"]
        },
        {
            "label": "Build debug",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["cmake debug", "make"]
        },
        {
            "label": "Build server",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["cmake", "make server"]
        },
        {
            "label": "Build debug server",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["cmake debug", "make server"]
        },
        {
            "label": "Rebuild",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["clear", "Build"]
        },
        {
            "label": "Run",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["Build", "exec"]
        },
        {
            "label": "Run valgrind",
            "group": "build",
            "dependsOrder": "sequence",
            "dependsOn": ["Build debug", "exec memcheck"]
        },
        {
            "label": "Dependencies",
            "type": "shell",
            "command": ["~/Téléchargements/cinclude2dot.pl", "--paths", "--include ../include/zstd/dictBuilder,../include/zstd,/usr/include/c++/10.2.0,../include/robin_hood,../include/imgui,../include/meshoptimizer,../include,../include/tracy,../include/gl3w,../include/FastNoiseSIMD", ">", "../build/dep.dot"],
            "options": {
                "cwd": "${workspaceRoot}/src",
            }
        }
    ]
}