{ "version": "2.0.0", "tasks": [ { "label": "GW Configure (Standalone)", "type": "process", "command": "powershell.exe", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", "if (-not $env:ARM_GCC_BIN_DIR) { Write-Error 'ARM_GCC_BIN_DIR is not set'; exit 1 }; if (-not $env:S32_SDK_PATH) { Write-Error 'S32_SDK_PATH is not set'; exit 1 }; $toolchain = (Resolve-Path 'GW/cmake/toolchain-arm-none-eabi.cmake').Path.Replace('\\','/'); $cmakeArgs = @('-S', 'GW', '-B', 'GW/Debug_STANDALONE', \"-DCMAKE_TOOLCHAIN_FILE=$toolchain\"); $ninja = Get-Command ninja -ErrorAction SilentlyContinue; $mingw = Get-Command mingw32-make -ErrorAction SilentlyContinue; if ($ninja) { $cmakeArgs += @('-G', 'Ninja') } elseif ($mingw) { $cmakeArgs += @('-G', 'MinGW Makefiles', \"-DCMAKE_MAKE_PROGRAM=$($mingw.Source.Replace('\\','/'))\") } else { Write-Error 'Neither ninja nor mingw32-make is available'; exit 1 }; & cmake @cmakeArgs" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "detail": "Required env vars: ARM_GCC_BIN_DIR, S32_SDK_PATH" }, { "label": "GW Build (Standalone)", "type": "process", "command": "powershell.exe", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", "if (-not (Test-Path 'GW/Debug_STANDALONE/CMakeCache.txt')) { Write-Error 'Standalone build is not configured. Run GW Configure (Standalone) first.'; exit 1 }; & cmake --build GW/Debug_STANDALONE -- -j4" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "detail": "Builds the standalone CMake target" }, { "label": "GW Clean (Standalone)", "type": "process", "command": "powershell.exe", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", "if (Test-Path 'GW/Debug_STANDALONE/CMakeCache.txt') { & cmake --build GW/Debug_STANDALONE --target clean } else { Write-Output 'Standalone build directory does not exist.' }" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "detail": "Cleans the standalone CMake target" }, { "label": "GW Rebuild (Standalone)", "dependsOrder": "sequence", "dependsOn": [ "GW Configure (Standalone)", "GW Clean (Standalone)", "GW Build (Standalone)" ], "group": { "kind": "build", "isDefault": true } }, { "label": "GW Build (Debug_FLASH)", "type": "process", "command": "powershell.exe", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", "if (-not $env:S32_GCC_BIN) { Write-Error 'S32_GCC_BIN is not set'; exit 1 }; if (-not $env:S32_MSYS_BIN) { Write-Error 'S32_MSYS_BIN is not set'; exit 1 }; $env:Path = \"$env:S32_GCC_BIN;$env:S32_MSYS_BIN;$env:Path\"; & \"$env:S32_MSYS_BIN\\make.exe\" -C Debug_FLASH all" ], "options": { "cwd": "${workspaceFolder}/GW" }, "problemMatcher": [ "$gcc" ], "detail": "Required env vars: S32_GCC_BIN, S32_MSYS_BIN" }, { "label": "GW Clean (Debug_FLASH)", "type": "process", "command": "powershell.exe", "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command", "if (-not $env:S32_GCC_BIN) { Write-Error 'S32_GCC_BIN is not set'; exit 1 }; if (-not $env:S32_MSYS_BIN) { Write-Error 'S32_MSYS_BIN is not set'; exit 1 }; $env:Path = \"$env:S32_GCC_BIN;$env:S32_MSYS_BIN;$env:Path\"; & \"$env:S32_MSYS_BIN\\make.exe\" -C Debug_FLASH clean" ], "options": { "cwd": "${workspaceFolder}/GW" }, "problemMatcher": [ "$gcc" ], "detail": "Required env vars: S32_GCC_BIN, S32_MSYS_BIN" }, { "label": "GW Rebuild (Debug_FLASH)", "dependsOrder": "sequence", "dependsOn": [ "GW Clean (Debug_FLASH)", "GW Build (Debug_FLASH)" ] } ] }