{ "version": "2.0.0", "tasks": [ { "label": "Create Build Directories", "type": "shell", "command": "sh", "args": [ "-c", "mkdir -p build" ], "problemMatcher": [], "detail": "Create necessary directories for builds.", "windows": { "command": "cmd.exe", "args": [ "/C", "if not exist build (mkdir build)" ] } }, { "label": "CMake Configure", "type": "shell", "command": "cmake", "dependsOn": [ "Create Build Directories" ], "args": [ "-S", ".", "-B", "build", "-G", "${input:cmakeGenerator}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [ "$gcc" ], "detail": "Configure the project using CMake." }, { "label": "CMake Build", "type": "shell", "command": "cmake", "dependsOn": [ "CMake Configure" ], "args": [ "--build", "build", "--target", "all", "--", "-j${input:threadCount}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [ "$gcc" ], "detail": "Build the project using CMake with parallel compilation." } ], "inputs": [ { "type": "pickString", "id": "cmakeGenerator", "options": [ "Ninja", "Unix Makefiles", "MinGW Makefiles", "Xcode" ], "default": "Ninja", "description": "The CMake generator to use." }, { "type": "promptString", "id": "threadCount", "description": "Number of parallel compilation threads", "default": "8" } ] }