wintest.bat (1564B)
1 @ECHO OFF 2 3 if "%1" == "" ( 4 echo "Usage: wintest.bat <Release | ReleaseDLL | Debug | DebugDLL> [ <x64 | ARM64> ]" 5 goto :END 6 ) 7 8 if not exist sodium_version.c ( 9 CD test\default 10 if not exist sodium_version.c ( 11 echo "Are you on the right path?" %CD% 12 goto :END 13 ) 14 ) 15 16 if "%2" == "x64" (SET ARCH=x64) else if "%2" == "ARM64" (SET ARCH=ARM64) else (SET ARCH=ARM64) 17 if "%2" == "ARM64" (SET CROSSCOMPILE=1) else (SET CROSSCOMPILE=0) 18 SET CFLAGS=/nologo /DTEST_SRCDIR=\".\" /I..\..\src\libsodium\include\sodium /I..\..\src\libsodium\include /I..\quirks 19 SET LDFLAGS=/link /LTCG advapi32.lib ..\..\Build\%1\%ARCH%\libsodium.lib 20 if "%1" == "ReleaseDLL" ( goto :ReleaseDLL ) 21 if "%1" == "DebugDLL" ( goto :DebugDLL ) 22 if "%1" == "Release" ( goto :Release ) 23 if "%1" == "Debug" ( goto :Debug ) 24 echo "Invalid build type" 25 goto :END 26 :ReleaseDLL 27 SET CFLAGS=%CFLAGS% /MD /Ox 28 SET PATH=..\..\Build\%1\%ARCH%;%PATH% 29 goto :COMPILE 30 :Release 31 SET CFLAGS=%CFLAGS% /MT /Ox /DSODIUM_STATIC /DSODIUM_EXPORT= 32 goto :COMPILE 33 :DebugDLL 34 SET CFLAGS=%CFLAGS% /GS /MDd /Od 35 SET PATH=..\..\Build\%1\%ARCH%;%PATH% 36 goto :COMPILE 37 :Debug 38 SET CFLAGS=%CFLAGS% /GS /MTd /Od /DSODIUM_STATIC /DSODIUM_EXPORT= 39 goto :COMPILE 40 :COMPILE 41 echo Running the test suite: 42 FOR %%f in (*.c) DO ( 43 cl %CFLAGS% %%f %LDFLAGS% /OUT:%%f.exe > NUL 2>&1 44 if not exist %%f.exe ( 45 echo %%f compile failed 46 goto :END 47 ) 48 if %CROSSCOMPILE% == 1 ( 49 echo %%f skipped 50 ) else ( 51 %%f.exe 52 if errorlevel 1 ( 53 echo %%f failed 54 ) else ( 55 echo %%f ok 56 ) 57 ) 58 ) 59 REM Remove temporary files 60 del *.exe *.obj *.res 61 :END