build.bat 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. @echo off
  2. :: Make sure this is a decent name and not generic
  3. set exe_name=odin.exe
  4. :: Debug = 0, Release = 1
  5. set release_mode=0
  6. set compiler_flags= -nologo -Oi -TP -fp:fast -fp:except- -Gm- -MP -FC -GS- -EHsc- -GR-
  7. if %release_mode% EQU 0 ( rem Debug
  8. set compiler_flags=%compiler_flags% -Od -MDd -Z7
  9. rem -DDISPLAY_TIMING
  10. ) else ( rem Release
  11. set compiler_flags=%compiler_flags% -O2 -MT -Z7
  12. )
  13. set compiler_warnings= ^
  14. -W4 -WX ^
  15. -wd4100 -wd4101 -wd4127 -wd4189 ^
  16. -wd4201 -wd4204 -wd4244 ^
  17. -wd4306 ^
  18. -wd4456 -wd4457 -wd4480 ^
  19. -wd4505 -wd4512 -wd4550
  20. set compiler_includes=
  21. set libs= ^
  22. kernel32.lib
  23. rem "src\dyncall\lib\*.lib"
  24. set linker_flags= -incremental:no -opt:ref -subsystem:console
  25. if %release_mode% EQU 0 ( rem Debug
  26. set linker_flags=%linker_flags% -debug
  27. ) else ( rem Release
  28. set linker_flags=%linker_flags% -debug
  29. )
  30. set compiler_settings=%compiler_includes% %compiler_flags% %compiler_warnings%
  31. set linker_settings=%libs% %linker_flags%
  32. del *.pdb > NUL 2> NUL
  33. del *.ilk > NUL 2> NUL
  34. cl %compiler_settings% "src\main.cpp" ^
  35. /link %linker_settings% -OUT:%exe_name% ^
  36. && odin run examples/demo.odin
  37. rem && odin docs core/fmt.odin
  38. del *.obj > NUL 2> NUL
  39. :end_of_build