Skip to content

Instantly share code, notes, and snippets.

@fador
Created August 8, 2012 13:02
Show Gist options
  • Save fador/3294910 to your computer and use it in GitHub Desktop.
Save fador/3294910 to your computer and use it in GitHub Desktop.
Mineserver VC2010 autocompilation script
@echo off
set gitcmd="%ProgramFiles(x86)%\Git\bin\git.exe"
set sevenzipcmd="%ProgramFiles%\7-Zip\7z.exe"
rem goto onlybuild
del /S /Q mineserver
rd /S /Q mineserver
%gitcmd% clone git://github.com/fador/mineserver.git
:onlybuild
cd mineserver\src\
mkdir ..\bin\
mkdir ..\bin\plugins\
call "%VS100COMNTOOLS%vsvars32.bat"
cl /MT /I ../../include /I ../include/ /I ./ /W3 /WX- /O2 /Ot /fp:fast /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc *.cpp blocks\*.cpp worldgen\*.cpp config\*.cpp items\*.cpp pthread.lib ssleay32.lib libeay32.lib Winmm.lib libnoise.lib zlibwapi.lib libevent.lib Ws2_32.lib Advapi32.lib Shell32.lib /link /OUT:..\bin\mineserver.exe /LIBPATH:"../../lib"
cl /MT /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\commands\commands.cpp /DLL /link /OUT:..\bin\plugins\commands.dll /DLL
cl /MT /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\filelog\filelog.cpp /DLL /link /OUT:..\bin\plugins\filelog.dll /DLL
cl /MT /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\binlog\binlog.cpp /DLL /link /OUT:..\bin\plugins\bindump.dll /DLL
copy ..\plugins\binlog\binlog.cfg ..\bin\
cl /MT /I ../../include /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\cursesui\screen.cpp pdcurses.lib /DLL /link /OUT:..\bin\plugins\curseui.dll /DLL /LIBPATH:"../../lib"
cl /MT /I ../../include /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\crapMobs\crapMobs.cpp /DLL /link /OUT:..\bin\plugins\crapMobs.dll /DLL /LIBPATH:"../../lib"
cl /MT /I ../../include /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\passiveMobs\passiveMobs.cpp /DLL /link /OUT:..\bin\plugins\passiveMobs.dll /DLL /LIBPATH:"../../lib"
cl /MT /I ../../include /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\nBreak\nBreak.cpp /DLL /link /OUT:..\bin\plugins\nBreak.dll /DLL /LIBPATH:"../../lib"
cl /MT /I ../../include /I ../include/ /I ./ /W3 /Gd /WX- /O2 /Ot /fp:fast /D "_USRDLL" /D "MINESERVER_PLUGINTEST_EXPORTS" /D "_WINDLL" /D FADOR_PLUGIN /D ZLIB_WINAPI /D WIN32 /D NDEBUG /D _CRT_SECURE_NO_WARNINGS /EHsc ..\plugins\flatpermissions\flatpermissions.cpp /DLL /link /OUT:..\bin\plugins\flatpermissions.dll /DLL /LIBPATH:"../../lib"
copy ..\..\dll\*.dll ..\bin\
xcopy ..\files\*.* ..\bin\ /S
del ..\bin\*.exp
del ..\bin\plugins\*.exp
del ..\bin\plugins\*.lib
del ..\bin\*.ilk
del ..\bin\*.lib
del ..\bin\*.pdb
cd ..
FOR /F "tokens=*" %%i in ('%gitcmd% rev-parse HEAD') do SET head_rev=%%i
SET rev_8letters=%head_rev:~0,8%
For /f "tokens=1 delims=/." %%a in ('date /t') do (set myday=%%a)
set myday=%myday:~3%
For /f "tokens=2 delims=/." %%a in ('date /t') do (set mymonth=%%a)
For /f "tokens=3 delims=/." %%a in ('date /t') do (set myyear=%%a)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
set myyear=%myyear:~0,4%
set filehash=%myyear%_%mymonth%_%myday%_%mytime%00_%rev_8letters%
cd ..
%sevenzipcmd% a -r mineserver_%filehash%_VS2010.zip mineserver\bin mineserver\LICENSE mineserver\README.md
pause
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment