/** * STM32 firmware build (CrossPad r20 single-board target). * * Drives the CMake + Ninja + arm-none-eabi toolchain via CMakePresets.json: * configure → `cmake --preset ` (binaryDir = build/) * build → `cmake --build build/` * * The arm-none-eabi-gcc toolchain is wired through the preset's `toolchainFile` * (cmake/gcc-arm-none-eabi.cmake), so no special environment is needed here — * unlike PC (MSVC) or IDF (export.sh). GCC diagnostics are the standard * `file:line:col: error:` form, so parseErrors/countWarnings from the PC build * apply unchanged. */ import { StmPreset } from "../config.js"; import { OnLine } from "../utils/exec.js"; import { BuildResult } from "./build.js"; /** * Map the unified build_type axis onto the two STM presets. The repo only * defines Debug and Release presets; RelWithDebInfo collapses to Release. * @internal exported for testing */ export declare function stmPresetFor(buildType: string): StmPreset; export declare function crosspadStmBuild(mode: "incremental" | "clean" | "reconfigure", onLine?: OnLine, buildType?: string, signal?: AbortSignal): Promise;