0028701: Configuration - add support of VS 2017
[occt.git] / adm / templates / msvc.bat
index c2fa75b..72f4360 100644 (file)
@@ -12,24 +12,28 @@ if not "%4" == "" (
 
 set "VisualStudioExpressName=VCExpress"
 
-if /I "%VCVER%" == "vc8" (
+if not "%DevEnvDir%" == "" (
+  rem If DevEnvDir is already defined (e.g. in custom.bat), use that value
+) else if /I "%VCFMT%" == "vc8" (
   set "DevEnvDir=%VS80COMNTOOLS%..\IDE"
-) else if /I "%VCVER%" == "vc9" (
+) else if /I "%VCFMT%" == "vc9" (
   set "DevEnvDir=%VS90COMNTOOLS%..\IDE"
-) else if /I "%VCVER%" == "vc10" (
+) else if /I "%VCFMT%" == "vc10" (
   set "DevEnvDir=%VS100COMNTOOLS%..\IDE"
-) else if /I "%VCVER%" == "vc11" (
+) else if /I "%VCFMT%" == "vc11" (
   set "DevEnvDir=%VS110COMNTOOLS%..\IDE"
   rem Visual Studio Express starting from VS 2012 is called "for Windows Desktop"
   rem and has a new name for executable - WDExpress
   set "VisualStudioExpressName=WDExpress"
-) else if /I "%VCVER%" == "vc12" (
+) else if /I "%VCFMT%" == "vc12" (
   set "DevEnvDir=%VS120COMNTOOLS%..\IDE"
   set "VisualStudioExpressName=WDExpress"
-) else if /I "%VCVER%" == "vc14" (
-  set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
-) else if /I "%VCVER%" == "vc14-uwp" (
+) else if /I "%VCFMT%" == "vc14" (
   set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
+) else if /I "%VCFMT%" == "vc141" (
+  for /f "usebackq delims=" %%i in (`vswhere.exe -version "[15.0,15.99]" -requires Microsoft.VisualStudio.Workload.%VCPROP% -property installationPath`) do (
+    set DevEnvDir=%%i\Common7\IDE
+  )
 ) else (
   echo Error: wrong VS identifier
   exit /B
@@ -42,5 +46,5 @@ if exist "%DevEnvDir%\devenv.exe"  (
   start "" "%DevEnvDir%\%VisualStudioExpressName%.exe" "%PRJFILE%"
 ) else (
   echo Error: Could not find MS Visual Studio ^(%VCVER%^)
-  echo Check relevant environment variable ^(e.g. VS80COMNTOOLS for vc8^)
+  echo For VS 2010-2015, check relevant environment variable ^(e.g. VS100COMNTOOLS^)
 )