diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-10 11:35:20 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-10 11:35:20 +0200 |
commit | ed24158b4d247dff58162c97f04cbc4011579600 (patch) | |
tree | 6e9ba4ab126f64af1d710cda804782e158d1c7a0 /build.bat | |
parent | f8eea05c337019bdc669d786e50d015f0cca14a2 (diff) |
Add automated build and test scripts for Windows
Diffstat (limited to 'build.bat')
-rw-r--r-- | build.bat | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..a59c8bc --- /dev/null +++ b/build.bat @@ -0,0 +1,102 @@ +@echo off +rem file : build.bat +rem author : Boris Kolpackov <boris@codesynthesis.com> +rem copyright : Copyright (c) 2009-2010 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 |