jabyengine/src/Tools/run_cargo.bat

63 lines
1.3 KiB
Batchfile

@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
set wsl=
IF %4 == linux (
set bin_ext=
set target=x86_64-unknown-linux-gnu
set wsl=wsl $HOME/.cargo/bin/
)
IF defined CARGO_RUN_ARGS set run_args=-- %CARGO_RUN_ARGS%
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
%wsl%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
%wsl%cargo run --%3 --target=%target% %run_args%
exit /B %ERRORLEVEL%
)
IF %2 == check (
echo cargo check %1 --%3
%wsl%cargo check --%3 --target=%target%
exit /B %ERRORLEVEL%
)
IF %2 == clean (
echo cargo clean %1
%wsl%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%
)
IF %2 == update (
echo cargo update %1
%wsl%cargo update
exit /B %ERRORLEVEL%
)
echo "Unkown cargo command "%2" for project "%1"