build.bat 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. @ECHO --------------------------- Beef Build.Bat Version 5 ---------------------------
  2. @SET P4_CHANGELIST=%1
  3. PUSHD %~dp0..\
  4. @SET MSBUILD_FLAGS=
  5. @IF "%1" NEQ "clean" goto BUILD
  6. @SET MSBUILD_FLAGS=/t:Clean,Build
  7. @ECHO Performing clean build
  8. :BUILD
  9. @IF EXIST stats GOTO STATS_HAS
  10. mkdir stats
  11. :STATS_HAS
  12. @IF EXIST BeefDep1_Done.txt GOTO DEPS0_HAS
  13. @ECHO Downloading dependencies (LLVM)...
  14. bin\curl.exe -O https://www.beeflang.org/BeefDep1.zip
  15. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  16. @ECHO Extracting dependencies (takes a while)...
  17. bin\tar.exe -xf BeefDep1.zip
  18. @IF %ERRORLEVEL% NEQ 0 GOTO
  19. del BeefDep1.zip
  20. :DEPS0_HAS
  21. copy BeefLibs\SDL2\dist\SDL2.dll IDE\dist
  22. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  23. CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  24. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  25. CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  26. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  27. CALL bin/msbuild.bat BeefySysLib\BeefySysLib.vcxproj /p:Configuration="Release Static" /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  28. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  29. CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  30. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  31. CALL bin/msbuild.bat IDEHelper\IDEHelper.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  32. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  33. CALL bin/build_rt.bat %1
  34. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  35. CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  36. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  37. CALL bin/msbuild.bat BeefBoot\BeefBoot.vcxproj /p:Configuration=Release /p:Platform=x64 /p:SolutionDir=%cd%\ /v:m %MSBUILD_FLAGS%
  38. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  39. @ECHO Building BeefBuild_bootd
  40. IDE\dist\BeefBoot_d.exe --out="IDE\dist\BeefBuild_bootd.exe" --src=IDE\src --src=BeefBuild\src --src=BeefLibs\corlib\src --src=BeefLibs\Beefy2D\src --src=BeefLibs\libgit2\src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDE\dist\Beef042RT64_d.lib IDE\dist\IDEHelper64_d.lib IDE\dist\BeefySysLib64_d.lib"
  41. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  42. @ECHO Building BeefBuild_boot
  43. IDE\dist\BeefBoot.exe --out="IDE\dist\BeefBuild_boot.exe" --src=IDE\src --src=BeefBuild\src --src=BeefLibs\corlib\src --src=BeefLibs\Beefy2D\src --src=BeefLibs\libgit2\src --define=CLI --define=RELEASE --startup=BeefBuild.Program --linkparams="Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDE\dist\Beef042RT64.lib IDE\dist\IDEHelper64.lib IDE\dist\BeefySysLib64.lib"
  44. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  45. @ECHO Building BeefBuild_d
  46. IDE\dist\BeefBuild_boot -proddir=BeefBuild -config=Debug
  47. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  48. @ECHO Building BeefBuild
  49. IDE\dist\BeefBuild_d -proddir=BeefBuild -config=Release
  50. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  51. @ECHO Building IDE_bfd
  52. @SET STATS_FILE=stats\IDE_Debug_build.csv
  53. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Debug_NoDeps
  54. IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  55. @ECHO Building IDE_bf
  56. @SET STATS_FILE=stats\IDE_Release_build.csv
  57. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Release
  58. IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  59. @ECHO Building RandoCode
  60. IDE\dist\BeefBuild_d -proddir=BeefTools\RandoCode -config=Release
  61. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  62. @ECHO Building BeefPerf
  63. IDE\dist\BeefBuild_d -proddir=BeefTools\BeefPerf -config=Release
  64. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  65. @ECHO Building BeefCon
  66. IDE\dist\BeefBuild_d -proddir=BeefTools\BeefCon -config=Release
  67. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  68. :SUCCESS
  69. @ECHO SUCCESS!
  70. @POPD
  71. @EXIT /b 0
  72. :HADERROR
  73. @ECHO =================FAILED=================
  74. @POPD
  75. @EXIT /b %ERRORLEVEL%