@echo off rem file : build.bat rem author : Boris Kolpackov rem copyright : Copyright (c) 2009-2011 Code Synthesis Tools CC rem license : GNU GPL v2; see accompanying LICENSE file rem rem build.bat database vc-version [/Build|/Clean|/Rebuild] rem rem Build tests using the VC++ batch mode compilation. rem setlocal set "confs=__path__(configurations)" set "plats=__path__(platforms)" set "failed=" if "_%1_" == "__" ( echo no database specified goto usage ) if "_%2_" == "__" ( echo no VC++ version specified goto usage ) if "_%2_" == "_9_" set "vcver=9" if "_%2_" == "_10_" set "vcver=10" if "_%vcver%_" == "__" ( echo unknown VC++ version %2 goto usage ) set "action=%3" if "_%action%_" == "__" set "action=/Build" set "devenv=%DEVENV%" if "_%devenv%_" == "__" set "devenv=devenv.com" goto start rem rem %1 - solution name rem %2 - configuration to build rem %3 - platform to build rem :run_build echo. echo building %1 %3 %2 "%devenv%" %1 %action% "%2|%3" 2>&1 if errorlevel 1 set "failed=%failed% %1\%3\%2" goto :eof :start for %%c in (%confs%) do ( for %%p in (%plats%) do ( call :run_build libcommon/libcommon-%1-vc%vcver%.sln %%c %%p ) ) for %%d in (tracer %1) do ( for %%c in (%confs%) do ( for %%p in (%plats%) do ( call :run_build %%d/%%d-vc%vcver%.sln %%c %%p ) ) ) for %%c in (%confs%) do ( for %%p in (%plats%) do ( call :run_build common/common-%1-vc%vcver%.sln %%c %%p ) ) if not "_%failed%_" == "__" goto error echo. echo ALL BUILDS SUCCEEDED echo. goto end :usage echo. echo usage: build.bat database vc-version [action] echo valid actions are /Build, /Clean, and /Rebuild echo. :error if not "_%failed%_" == "__" ( echo. for %%t in (%failed%) do echo FAILED: %%t echo. ) endlocal exit /b 1 :end endlocal