Update build scripts to detect only supported versions of MSBuild
This commit is contained in:
@@ -11,16 +11,6 @@ for %%I in (Source\Logo.png) do if %%~zI LSS 2000 (
|
|||||||
call "Development\Scripts\Windows\GetMSBuildPath.bat"
|
call "Development\Scripts\Windows\GetMSBuildPath.bat"
|
||||||
if errorlevel 1 goto Error_NoVisualStudioEnvironment
|
if errorlevel 1 goto Error_NoVisualStudioEnvironment
|
||||||
|
|
||||||
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto Compile
|
|
||||||
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
|
|
||||||
for %%j in (15.0, Current) do (
|
|
||||||
if exist "%%i\MSBuild\%%j\Bin\MSBuild.exe" (
|
|
||||||
set MSBUILD_PATH="%%i\MSBuild\%%j\Bin\MSBuild.exe"
|
|
||||||
goto Compile
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
:Compile
|
:Compile
|
||||||
md Cache\Intermediate >nul 2>nul
|
md Cache\Intermediate >nul 2>nul
|
||||||
dir /s /b Source\Tools\Flax.Build\*.cs >Cache\Intermediate\Flax.Build.Files.txt
|
dir /s /b Source\Tools\Flax.Build\*.cs >Cache\Intermediate\Flax.Build.Files.txt
|
||||||
@@ -44,7 +34,7 @@ goto Exit
|
|||||||
echo CallBuildTool ERROR: The script is in invalid directory.
|
echo CallBuildTool ERROR: The script is in invalid directory.
|
||||||
goto Exit
|
goto Exit
|
||||||
:Error_NoVisualStudioEnvironment
|
:Error_NoVisualStudioEnvironment
|
||||||
echo CallBuildTool ERROR: Missing Visual Studio 2015 or newer.
|
echo CallBuildTool ERROR: Missing Visual Studio 2022 or newer.
|
||||||
goto Exit
|
goto Exit
|
||||||
:Error_CompilationFailed
|
:Error_CompilationFailed
|
||||||
echo CallBuildTool ERROR: Failed to compile Flax.Build project.
|
echo CallBuildTool ERROR: Failed to compile Flax.Build project.
|
||||||
|
|||||||
@@ -4,66 +4,26 @@ rem Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
|
|||||||
|
|
||||||
set MSBUILD_PATH=
|
set MSBUILD_PATH=
|
||||||
|
|
||||||
|
rem Look for MSBuild version 17.0 or later
|
||||||
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto VsWhereNotFound
|
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto VsWhereNotFound
|
||||||
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
|
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -version 17.0 -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
|
||||||
if exist "%%i\MSBuild\15.0\Bin\MSBuild.exe" (
|
|
||||||
set MSBUILD_PATH="%%i\MSBuild\15.0\Bin\MSBuild.exe"
|
|
||||||
goto End
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -prerelease -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
|
|
||||||
if exist "%%i\MSBuild\15.0\Bin\MSBuild.exe" (
|
|
||||||
set MSBUILD_PATH="%%i\MSBuild\15.0\Bin\MSBuild.exe"
|
|
||||||
goto End
|
|
||||||
)
|
|
||||||
if exist "%%i\MSBuild\Current\Bin\MSBuild.exe" (
|
if exist "%%i\MSBuild\Current\Bin\MSBuild.exe" (
|
||||||
set MSBUILD_PATH="%%i\MSBuild\Current\Bin\MSBuild.exe"
|
set MSBUILD_PATH="%%i\MSBuild\Current\Bin\MSBuild.exe"
|
||||||
goto End
|
goto End
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
:VsWhereNotFound
|
|
||||||
|
|
||||||
if exist "%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe" (
|
rem Look for MSBuild version 17.0 or later in pre-release versions
|
||||||
set MSBUILD_PATH="%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe"
|
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -version 17.0 -latest -prerelease -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
|
||||||
goto End
|
if exist "%%i\MSBuild\Current\Bin\MSBuild.exe" (
|
||||||
|
set MSBUILD_PATH="%%i\MSBuild\Current\Bin\MSBuild.exe"
|
||||||
|
goto End
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
echo GetMSBuildPath ERROR: Could not find MSBuild version 17.0 or later.
|
||||||
call :GetInstallPath Microsoft\VisualStudio\SxS\VS7 15.0 MSBuild\15.0\bin\MSBuild.exe
|
exit /B 1
|
||||||
if not errorlevel 1 goto End
|
:VsWhereNotFound
|
||||||
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\14.0 MSBuildToolsPath MSBuild.exe
|
echo GetMSBuildPath ERROR: vswhere.exe was not found.
|
||||||
if not errorlevel 1 goto End
|
|
||||||
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\12.0 MSBuildToolsPath MSBuild.exe
|
|
||||||
if not errorlevel 1 goto End
|
|
||||||
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\4.0 MSBuildToolsPath MSBuild.exe
|
|
||||||
if not errorlevel 1 goto End
|
|
||||||
|
|
||||||
exit /B 1
|
exit /B 1
|
||||||
:End
|
:End
|
||||||
exit /B 0
|
exit /B 0
|
||||||
|
|
||||||
:GetInstallPath
|
|
||||||
for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\%1 /v %2 2^>Nul') do (
|
|
||||||
if exist "%%B%%3" (
|
|
||||||
set MSBUILD_PATH="%%B%3"
|
|
||||||
exit /B 0
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\%1 /v %2 2^>Nul') do (
|
|
||||||
if exist "%%B%3" (
|
|
||||||
set MSBUILD_PATH="%%B%3"
|
|
||||||
exit /B 0
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
|
|
||||||
if exist "%%B%%3" (
|
|
||||||
set MSBUILD_PATH="%%B%3"
|
|
||||||
exit /B 0
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
|
|
||||||
if exist "%%B%3" (
|
|
||||||
set MSBUILD_PATH="%%B%3"
|
|
||||||
exit /B 0
|
|
||||||
)
|
|
||||||
)
|
|
||||||
exit /B 1
|
|
||||||
Reference in New Issue
Block a user