@echo off setlocal ENABLEDELAYEDEXPANSION for /d %%d in (%cd%) do set base_name=%%~nxd set bin_name=%base_name%.exe set pdb_name=%base_name%.pdb set bold_white= set bold_green= set bold_red= set end= set compiler_defines= set common_compiler_flags=-debug -pdb-name:%pdb_name% -show-timings -vet -strict-style -warnings-as-errors -verbose-errors for %%x in (%*) do ( if "%%~x" == "-release" ( set common_compiler_flags=-o:speed -show-timings -vet -strict-style -warnings-as-errors -verbose-errors ) else ( if "%%~x" == "-debug-draw-timings" ( compiler_defines="${compiler_defines} -define:DEBUG_DRAW_TIMINGS=true" ) else ( if "%%~x" == "-debug-draw-ui-calls" ( set compiler_defines=%compiler_defines% -define:DEBUG_DRAW_UI_CALLS=true ) else ( echo %bold_red%Unknown argument "%%~x".%end% exit -1 ) ) ) ) set compiler_flags=%compiler_defines% %common_compiler_flags% echo %bold_white%Using compiler flags:%end% %compiler_flags% if not exist build mkdir build pushd build odin build ../src -out:%bin_name% %compiler_flags% set result=%errorlevel% if %result% neq 0 ( echo %bold_red%FAIL%end% exit %result% ) echo %bold_green%OK%end% popd