Enable runprebuild.bat to run in Cygwin

This resolves http://opensimulator.org/mantis/view.php?id=6951
0.8.0.3
Oren Hurvitz 2013-12-03 09:08:35 +02:00
parent 921f0052f4
commit 425d76bb98
1 changed files with 13 additions and 5 deletions

View File

@ -7,11 +7,19 @@ setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0" set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0"
set VALUE_NAME=MSBuildToolsPath set VALUE_NAME=MSBuildToolsPath
rem We have to use find here as req query spits out 4 lines before Windows 7 rem We have to use grep or find to locate the correct line, because reg query spits
rem But 2 lines after Windows 7. Unfortunately, this screws up cygwin rem out 4 lines before Windows 7 but 2 lines after Windows 7.
rem as it uses its own find command. This could be fixed but it could be rem We use grep if it's on the path; otherwise we use the built-in find command
rem complex to find the location of find on all windows systems rem from Windows. (We must use grep on Cygwin because it overrides the "find" command.)
FOR /F "usebackq tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul ^| FIND "%VALUE_NAME%"`) DO (
for %%X in (grep.exe) do (set FOUNDGREP=%%~$PATH:X)
if defined FOUNDGREP (
set FINDCMD=grep
) else (
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 ValueName=%%A
set ValueType=%%B set ValueType=%%B
set ValueValue=%%C set ValueValue=%%C