change runprebuild.bat to try to find msbuild of most recent visual studio instaled for compile.bat
parent
0307427b94
commit
28171e1d10
|
@ -1,12 +1,26 @@
|
|||
@echo OFF
|
||||
|
||||
bin\Prebuild.exe /target nant
|
||||
bin\Prebuild.exe /target vs2015
|
||||
|
||||
setlocal ENABLEEXTENSIONS
|
||||
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0"
|
||||
set VALUE_NAME=MSBuildToolsPath
|
||||
|
||||
|
||||
rem try find vs2017
|
||||
if "%PROCESSOR_ARCHITECTURE%"=="x86" set PROGRAMS=%ProgramFiles%
|
||||
if defined ProgramFiles(x86) set PROGRAMS=%ProgramFiles(x86)%
|
||||
|
||||
for %%e in (Enterprise Professional Community) do (
|
||||
|
||||
if exist "%PROGRAMS%\Microsoft Visual Studio\2017\%%e\MSBuild\15.0\Bin\MSBuild.exe" (
|
||||
|
||||
set ValueValue="%PROGRAMS%\Microsoft Visual Studio\2017\%%e\MSBuild\15.0\Bin\"
|
||||
goto :found
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
|
||||
rem We have to use grep or find to locate the correct line, because reg query spits
|
||||
rem out 4 lines before Windows 7 but 2 lines after Windows 7.
|
||||
rem We use grep if it's on the path; otherwise we use the built-in find command
|
||||
|
@ -19,20 +33,19 @@ if defined FOUNDGREP (
|
|||
set FINDCMD=find
|
||||
)
|
||||
|
||||
FOR /F "usebackq tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul ^| %FINDCMD% "%VALUE_NAME%"`) DO (
|
||||
set ValueName=%%A
|
||||
set ValueType=%%B
|
||||
|
||||
for %%v in (14.0, 12.0, 4.0) do (
|
||||
FOR /F "usebackq tokens=1-3" %%A IN (`REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\%%v" /v %VALUE_NAME% 2^>nul ^| %FINDCMD% "%VALUE_NAME%"`) DO (
|
||||
set ValueValue=%%C
|
||||
goto :found
|
||||
)
|
||||
)
|
||||
|
||||
if defined ValueName (
|
||||
@echo Found msbuild path registry entry
|
||||
@echo Value Name = %ValueName%
|
||||
@echo Value Type = %ValueType%
|
||||
@echo Value Value = %ValueValue%
|
||||
@echo Creating compile.bat
|
||||
@echo %ValueValue%\msbuild opensim.sln > compile.bat
|
||||
) else (
|
||||
@echo %KEY_NAME%\%VALUE_NAME% not found.
|
||||
@echo Not creating compile.bat
|
||||
)
|
||||
exit
|
||||
|
||||
:found
|
||||
@echo Found msbuild at %ValueValue%
|
||||
@echo Creating compile.bat
|
||||
@echo %ValueValue%\msbuild opensim.sln > compile.bat
|
||||
|
|
Loading…
Reference in New Issue