|
@@ -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
|
|
|
- set ValueValue=%%C
|
|
|
+
|
|
|
+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 %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
|
|
|
-) else (
|
|
|
- @echo %KEY_NAME%\%VALUE_NAME% not found.
|
|
|
- @echo Not creating compile.bat
|
|
|
-)
|