diff --git a/toolchain/msvc-setup.bat b/toolchain/msvc-setup.bat index b8f254c59..952047ee5 100644 --- a/toolchain/msvc-setup.bat +++ b/toolchain/msvc-setup.bat @@ -3,12 +3,12 @@ setlocal enabledelayedexpansion @call "%HXCPP_MSVC%\vcvars32.bat" @echo HXCPP_VARS @set -) else if exist "%HXCPP_MSVC%\vsvars32.bat" ( - @call "%HXCPP_MSVC%\vsvars32.bat" - @echo HXCPP_VARS - @set -) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" ( - @call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86 -app_platform=Desktop -no_logo +) else if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( + for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( + set InstallDir=%%i + ) + @echo "!InstallDir!" + call "!InstallDir!\Common7\Tools\VsDevCmd.bat" -arch=x86 -app_platform=Desktop -no_logo @echo HXCPP_VARS @set ) else if exist "%VS140COMNTOOLS%\vsvars32.bat" ( diff --git a/toolchain/msvc-winrt-setup.bat b/toolchain/msvc-winrt-setup.bat index a0b279344..9051c911e 100644 --- a/toolchain/msvc-winrt-setup.bat +++ b/toolchain/msvc-winrt-setup.bat @@ -1,8 +1,12 @@ setlocal enabledelayedexpansion -@if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" ( - @call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86 -app_platform=UWP -no_logo - @echo HXCPP_VARS - @set +@if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( + for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( + set InstallDir=%%i + ) + @echo "!InstallDir!" + call "!InstallDir!\Common7\Tools\VsDevCmd.bat" -arch=x86 -app_platform=UWP -no_logo + @echo HXCPP_VARS + @set ) else if exist "%VS140COMNTOOLS%\vsvars32.bat" ( @call "%VS140COMNTOOLS%\vsvars32.bat" @set "INCLUDE=%WindowsSdkDir%Include;!INCLUDE!" @@ -12,5 +16,5 @@ setlocal enabledelayedexpansion @echo HXCPP_VARS @set ) else ( - echo Warning: Could not find environment variables for Visual Studio 2015 + echo Warning: Could not find environment variables for Visual Studio 2015 or 2017 ) diff --git a/toolchain/msvc-winrt64-setup.bat b/toolchain/msvc-winrt64-setup.bat index 347729484..0748ba3aa 100644 --- a/toolchain/msvc-winrt64-setup.bat +++ b/toolchain/msvc-winrt64-setup.bat @@ -1,8 +1,12 @@ setlocal enabledelayedexpansion -@if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" ( - @call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -app_platform=UWP -no_logo - @echo HXCPP_VARS - @set +@if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( + for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( + set InstallDir=%%i + ) + @echo "!InstallDir!" + call "!InstallDir!\Common7\Tools\VsDevCmd.bat" -arch=amd64 -app_platform=UWP -no_logo + @echo HXCPP_VARS + @set ) else if exist "%VS140COMNTOOLS%\..\..\VC\bin\x86_amd64\vcvarsx86_amd64.bat" ( @call "%VS140COMNTOOLS%\..\..\VC\bin\x86_amd64\vcvarsx86_amd64.bat" @set "INCLUDE=%WindowsSdkDir%Include;!INCLUDE!" @@ -13,5 +17,5 @@ setlocal enabledelayedexpansion @set @echo HXCPP_HACK_PDBSRV=1 ) else ( - echo Warning: Could not find x64 environment variables for Visual Studio 2015 + echo Warning: Could not find x64 environment variables for Visual Studio 2015 or 2017 ) diff --git a/toolchain/msvc64-setup.bat b/toolchain/msvc64-setup.bat index f1d3605cd..84489cc35 100644 --- a/toolchain/msvc64-setup.bat +++ b/toolchain/msvc64-setup.bat @@ -8,8 +8,12 @@ setlocal enabledelayedexpansion @echo HXCPP_VARS @set ) -) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" ( - @call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -app_platform=Desktop -no_logo +) else if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" ( + for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( + set InstallDir=%%i + ) + @echo "!InstallDir!" + call "!InstallDir!\Common7\Tools\VsDevCmd.bat" -arch=amd64 -app_platform=Desktop -no_logo @echo HXCPP_VARS @set ) else if exist "%VS140COMNTOOLS%\..\..\VC\bin\x86_amd64\vcvarsx86_amd64.bat" ( @@ -30,4 +34,4 @@ setlocal enabledelayedexpansion @set ) else ( echo Error: 64bit is not automatically supported for this version of VC. Set HXCPP_MSVC_CUSTOM and manually configure the executable, library and include paths -) +) \ No newline at end of file