@echo off setlocal EnableDelayedExpansion rem run_cargo.bat project {build|check|clean|test} {debug|release} [linux|windows] set org_dir=%cd% set bin_ext=.exe set target=x86_64-pc-windows-msvc IF %4 == linux ( set bin_ext= set target=x86_64-unknown-linux-musl ) IF %2 == build set run_build=1 IF %2 == test set run_build=1 cd %1 IF defined run_build ( echo cargo build %1 --%3 cargo build --%3 --target=%target% IF %2 == build IF %ERRORLEVEL% == 0 ( xcopy target\%target%\%3\%1%bin_ext% %org_dir%\..\..\bin /y ) exit /B %ERRORLEVEL% ) IF %2 == run ( echo cargo run %1 --%3 cargo run --%3 --target=%target% exit /B %ERRORLEVEL% ) IF %2 == check ( echo cargo check %1 --%3 cargo check --%3 --target=%target% exit /B %ERRORLEVEL% ) IF %2 == clean ( echo cargo clean %1 cargo clean rem We do not delete the bin folder anymore - is kinda to much rem @del %org_dir%\..\..\bin\%1%bin_ext% exit /B %ERRORLEVEL% ) echo "Unkown cargo command "%2" for project "%1"