package.bat 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. @ECHO off
  2. SET PLATFORM=%1
  3. SET CONFIG=%2
  4. SET BUILD_DIR=%3
  5. SET ARGUMENTS=%4
  6. SET XCOPY_COMMAND=%windir%\system32\xcopy
  7. SET BUILD_DIR=%BUILD_DIR:"=%
  8. SET BUILD_DIR=%BUILD_DIR:/=\%
  9. IF "" == "%PLATFORM%" (
  10. ECHO Error: No platform parameter set.
  11. GOTO ON_ERROR
  12. )
  13. IF "" == "%CONFIG%" (
  14. ECHO Error: No configuration parameter set.
  15. GOTO ON_ERROR
  16. )
  17. IF "" == "%BUILD_DIR%" (
  18. ECHO Error: No MONO_BUILD_DIR_PREFIX parameter set.
  19. GOTO ON_ERROR
  20. )
  21. IF NOT EXIST %BUILD_DIR% (
  22. ECHO Error: '%BUILD_DIR%', directory doesn't eixst.
  23. GOTO ON_ERROR
  24. )
  25. IF "\" == "%BUILD_DIR:~-1%" (
  26. SET BUILD_DIR=%BUILD_DIR:~0,-1%
  27. )
  28. IF NOT EXIST %BUILD_DIR%\%PLATFORM%\lib\%CONFIG% (
  29. ECHO Error: No lib directory available for %PLATFORM% %CONFIG% at '%BUILD_DIR%'. Any build availalbe for platform, configuration pair?
  30. GOTO ON_ERROR
  31. )
  32. IF NOT EXIST %BUILD_DIR%\%PLATFORM%\bin\%CONFIG% (
  33. ECHO Error: No bin directory available for %PLATFORM% %CONFIG% at '%BUILD_DIR%'. Any build availalbe for platform, configuration pair?
  34. GOTO ON_ERROR
  35. )
  36. SET PACKAGE_DIR=%BUILD_DIR%\package\%PLATFORM%\%CONFIG%
  37. SET OPTIONS=/s /e /y
  38. IF "-v" == "%ARGUMENTS%" (
  39. SET OPTIONS=/f /s /e /y
  40. )
  41. IF "-q" == "%ARGUMENTS%" (
  42. SET "OPTIONS=/s /e /q /y"
  43. )
  44. ECHO Packaging mono build %PLATFORM% %CONFIG% into '%PACKAGE_DIR%' ...
  45. IF EXIST %PACKAGE_DIR% rmdir %PACKAGE_DIR% /s /q
  46. mkdir %PACKAGE_DIR%
  47. mkdir %PACKAGE_DIR%\include\mono-2.0
  48. SET RUN=%XCOPY_COMMAND% ".\include\*.*" "%PACKAGE_DIR%\include\mono-2.0\" %OPTIONS%
  49. call :runCommand "%RUN%" %ARGUMENTS%
  50. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\lib\%CONFIG%\*.lib" "%PACKAGE_DIR%\lib\" %OPTIONS%
  51. call :runCommand "%RUN%" %ARGUMENTS%
  52. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\lib\%CONFIG%\*.pdb" "%PACKAGE_DIR%\lib\" %OPTIONS%
  53. call :runCommand "%RUN%" %ARGUMENTS%
  54. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\bin\%CONFIG%\*.exe" "%PACKAGE_DIR%\bin\" %OPTIONS%
  55. call :runCommand "%RUN%" %ARGUMENTS%
  56. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\bin\%CONFIG%\*.dll" "%PACKAGE_DIR%\bin\" %OPTIONS%
  57. call :runCommand "%RUN%" %ARGUMENTS%
  58. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\bin\%CONFIG%\*.pdb" "%PACKAGE_DIR%\bin\" %OPTIONS%
  59. call :runCommand "%RUN%" %ARGUMENTS%
  60. SET RUN=%XCOPY_COMMAND% "%BUILD_DIR%\%PLATFORM%\bin\%CONFIG%\*.lib" "%PACKAGE_DIR%\bin\" %OPTIONS%
  61. call :runCommand "%RUN%" %ARGUMENTS%
  62. ECHO Packaging of mono build %PLATFORM% %CONFIG% into '%PACKAGE_DIR%' DONE.
  63. EXIT /b 0
  64. :ON_ERROR
  65. ECHO "package.bat [win32|x64] [Debug|Release] [MONO_BUILD_DIR_PREFIX] [ARGUMENTS]"
  66. EXIT /b 1
  67. @ECHO on
  68. :runCommand
  69. IF "-q" == "%~2" (
  70. %~1 >nul 2>&1
  71. ) ELSE (
  72. %~1
  73. )
  74. goto :EOF