make.bat: detect MSVC location
authorCampbell Barton <ideasman42@gmail.com>
Fri, 1 Jan 2016 14:42:43 +0000 (01:42 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Fri, 1 Jan 2016 14:42:43 +0000 (01:42 +1100)
Now this can run from any command line (without having to be launched from MSVC Command Prompt)

make.bat

index 67b210c39df805e4e7dd273ba77c052cf9a6e192..71a7ca1b4d946288351686b7cebfb6d2dab85a7c 100644 (file)
--- a/make.bat
+++ b/make.bat
@@ -2,11 +2,27 @@
 REM This batch file does an out-of-source CMake build in ../build_windows
 REM This is for users who like to configure & build Blender with a single command.
 
+setlocal ENABLEEXTENSIONS
 set BLENDER_DIR=%~dp0
 set BUILD_DIR=%BLENDER_DIR%..\build_windows
 set BUILD_TYPE=Release
 set BUILD_CMAKE_ARGS=
 
+REM Detect MSVC Installation
+if DEFINED VisualStudioVersion goto msvc_detect_finally
+set VALUE_NAME=ProductDir
+REM Check 64 bits
+set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0\Setup\VC"
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C
+if DEFINED MSVC_VC_DIR goto msvc_detect_finally
+REM Check 32 bits
+set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0\Setup\VC"
+for /F "usebackq skip=2 tokens=1-2*" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO set MSVC_VC_DIR=%%C
+if DEFINED MSVC_VC_DIR goto msvc_detect_finally
+:msvc_detect_finally
+if DEFINED MSVC_VC_DIR call "%MSVC_VC_DIR%\vcvarsall.bat"
+
+
 REM Sanity Checks
 where /Q msbuild
 if %ERRORLEVEL% NEQ 0 (