summaryrefslogtreecommitdiff
path: root/msvc-build.bat
diff options
context:
space:
mode:
Diffstat (limited to 'msvc-build.bat')
-rw-r--r--msvc-build.bat48
1 files changed, 48 insertions, 0 deletions
diff --git a/msvc-build.bat b/msvc-build.bat
new file mode 100644
index 0000000..fd6d558
--- /dev/null
+++ b/msvc-build.bat
@@ -0,0 +1,48 @@
+@echo off
+rem Copyright (C) 2008-2012 Alon Bar-Lev <alon.barlev@gmail.com>
+
+@rem this stupid command needed for SetEnv.cmd to operate
+setlocal ENABLEDELAYEDEXPANSION
+
+cd /d %0\..
+call msvc-env.bat
+
+set PLATFORMS=Win32
+set CONFIGURATIONS=Release
+
+if exist "%VCHOME%\vcvarsall.bat" (
+ call "%VCHOME%\vcvarsall.bat"
+) else if exist "%VCHOME%\bin\vcvars32.bat" (
+ call "%VCHOME%\bin\vcvars32.bat"
+) else (
+ echo Cannot detect visual studio
+ goto error
+)
+
+msbuild /help > nul 2>&1
+if errorlevel 1 set DO_VCBUILD=1
+
+for %%p in (%PLATFORMS%) do (
+ for %%c in (%CONFIGURATIONS%) do (
+ rmdir /q /s %SOURCEBASE%\%%p\%%c > nul 2>&1
+
+ if "%DO_VCBUILD%" NEQ "" (
+ vcbuild /errfile:error.log /showenv "%SOLUTION%" /rebuild /platform:%%p "%%c|%%p"
+ for %%f in (error.log) do if %%~zf GTR 0 goto error
+ ) else (
+ msbuild "%SOLUTION%" /p:Configuration="%%c" /p:Platform="%%p"
+ if errorlevel 1 goto error
+ )
+ )
+)
+
+exit /b 0
+goto end
+
+:error
+exit /b 1
+goto end
+
+:end
+
+endlocal