diff --git a/build_env_x64.bat b/build_env_x64.bat index ea51185..5d909df 100755 --- a/build_env_x64.bat +++ b/build_env_x64.bat @@ -2,36 +2,20 @@ cd /d "%~dp0" rem Put in the base path in which Visual Studio is installed, default would be C:\Program Files (x86) -set VS_Base_Path=C:\Program Files (x86) +FOR /F "tokens=* USEBACKQ" %%F IN (`vswhere.exe -latest -property installationPath`) DO ( +SET VS_Base_Path=%%F +) +set VS_Env_Path="%VS_Base_Path%\VC\Auxiliary\Build\vcvars64.bat" -if exist "%VS_Base_Path%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" goto vs2019 -if exist "%VS_Base_Path%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" goto vs2017 -if exist "%VS_Base_Path%\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat" goto vs14 -if exist "%VS_Base_Path%\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" goto vs2019_bt -if exist "%VS_Base_Path%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" goto vs2017_bt +if exist %VS_Env_Path% goto vslast if exist ".\sdk_standalone\set_vars64.bat" goto gitlabci -:vs2019 -call "%VS_Base_Path%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" -goto batend - -:vs2017 -call "%VS_Base_Path%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -goto batend - -:vs14 -call "%VS_Base_Path%\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat" -goto batend - -:vs2019_bt -call "%VS_Base_Path%\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" -goto batend - -:vs2017_bt -call "%VS_Base_Path%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat" +:vslast +call %VS_Env_Path% goto batend :gitlabci call ".\sdk_standalone\set_vars64.bat" goto batend + :batend diff --git a/build_env_x86.bat b/build_env_x86.bat index b87efd9..06c439b 100755 --- a/build_env_x86.bat +++ b/build_env_x86.bat @@ -2,37 +2,20 @@ cd /d "%~dp0" rem Put in the base path in which Visual Studio is installed, default would be C:\Program Files (x86) -set VS_Base_Path=C:\Program Files (x86) +FOR /F "tokens=* USEBACKQ" %%F IN (`vswhere.exe -latest -property installationPath`) DO ( +SET VS_Base_Path=%%F +) +set VS_Env_Path="%VS_Base_Path%\VC\Auxiliary\Build\vcvars32.bat" -if exist "%VS_Base_Path%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" goto vs2019 -if exist "%VS_Base_Path%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" goto vs2017 -if exist "%VS_Base_Path%\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\vcvarsamd64_x86.bat" goto vs14 -if exist "%VS_Base_Path%\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars32.bat" goto vs2019_bt -if exist "%VS_Base_Path%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars32.bat" goto vs2017_bt +if exist %VS_Env_Path% goto vslast if exist ".\sdk_standalone\set_vars32.bat" goto gitlabci -:vs2019 -call "%VS_Base_Path%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" +:vslast +call %VS_Env_Path% goto batend -:vs2017 -call "%VS_Base_Path%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" -goto batend - -:vs14 -call "%VS_Base_Path%\Microsoft Visual Studio 14.0\VC\bin\amd64_x86\vcvarsamd64_x86.bat" -goto batend - -:vs2019_bt -call "%VS_Base_Path%\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars32.bat" -goto batend - -:vs2017_bt -call "%VS_Base_Path%\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars32.bat" -goto batend - - :gitlabci call ".\sdk_standalone\set_vars32.bat" goto batend + :batend diff --git a/vswhere.exe b/vswhere.exe new file mode 100644 index 0000000..582e828 Binary files /dev/null and b/vswhere.exe differ