Visual Studio Projects: Dynamically provide up-to-date windows-build components

This commit is contained in:
Mark Pizzolato 2018-08-16 08:05:23 -07:00
parent 0e778da410
commit 664a2d555c

View file

@ -73,9 +73,38 @@ goto _do_rom
:_done_rom :_done_rom
popd popd
:_CheckGit
if not exist ..\.git goto _done_git
call :FindGit _GIT_GIT
if "%_GIT_GIT%" neq "" goto _done_git
echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
echo ** **
echo ** Your local simh code is in a git repository, **
echo ** however, the git program executable can not be **
echo ** readily found on your system. **
echo ** **
echo ** You should download and install git from: **
echo ** **
echo ** https://git-scm.com/download/win **
echo ** **
echo ** while installing git for windows, be sure to **
echo ** select the option to "Use Git from the Windows **
echo ** Command Prompt" **
echo ** **
echo ** You should logout and login again after initally **
echo "" installing git to be sure that the installation **
echo ** location is properly visible in your search path.**
echo ** **
echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
echo ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR ** ERROR **
echo error: Review the Output Tab for more details.
exit 1
:_done_git
:_check_build :_check_build
if "%_X_BUILD%" == "" goto _done_build if "%_X_BUILD%" == "" goto _done_build
if not exist ../../windows-build-windows-build goto _check_files if not exist ..\..\windows-build-windows-build goto _check_files
rem This is a newly extracted windows-build.zip file with the rem This is a newly extracted windows-build.zip file with the
rem top level directory named as it existed in the zip file. rem top level directory named as it existed in the zip file.
rem We rename that top level directory. If a previous one already rem We rename that top level directory. If a previous one already
@ -87,8 +116,8 @@ if errorlevel 1 goto _notice3
if exist ../../windows-build-windows-build goto _notice3 if exist ../../windows-build-windows-build goto _notice3
:_check_files :_check_files
call :FindVCVersion _VC_VER call :FindVCVersion _VC_VER
if not exist ../../windows-build goto _notice1 if not exist ..\..\windows-build goto _notice1
if not exist ../../windows-build/lib goto _notice2 if not exist ..\..\windows-build/lib goto _notice2
set _X_WINDOWS_BUILD= set _X_WINDOWS_BUILD=
for /F "usebackq tokens=2" %%i in (`findstr /C:"WINDOWS-BUILD" ..\..\windows-build\Windows-Build_Versions.txt`) do SET _X_WINDOWS_BUILD=%%i for /F "usebackq tokens=2" %%i in (`findstr /C:"WINDOWS-BUILD" ..\..\windows-build\Windows-Build_Versions.txt`) do SET _X_WINDOWS_BUILD=%%i
if "%_X_WINDOWS_BUILD%" LSS "20180815" goto _notice2 if "%_X_WINDOWS_BUILD%" LSS "20180815" goto _notice2
@ -156,6 +185,28 @@ set _LIB_VC_VER=
:_done_library :_done_library
goto _done_build goto _done_build
:_notice1 :_notice1
if "%_TRIED_CLONE%" neq "" goto _notice1_announce
if "%_GIT_GIT%" equ "" goto _notice1_announce
echo *****************************************************
echo *****************************************************
echo ** **
echo ** The required build support is not yet available.**
echo ** **
echo ** Using git to acquire a local copy of the **
echo ** windows-build repository from: **
echo ** **
echo ** https://github.com/simh/windows-build **
echo ** **
echo ** This may take a minute or si. Please wait... **
echo ** **
echo *****************************************************
echo *****************************************************
pushd ..\..
"%_GIT_GIT%" clone https://github.com/simh/windows-build windows-build
popd
set _TRIED_CLONE=1
goto _check_build
:_notice1_announce
echo ***************************************************** echo *****************************************************
echo ***************************************************** echo *****************************************************
echo ** The required build support is not available. ** echo ** The required build support is not available. **
@ -164,6 +215,25 @@ echo *****************************************************
set _exit_reason=The required build support is not available. set _exit_reason=The required build support is not available.
goto _ProjectInfo goto _ProjectInfo
:_notice2 :_notice2
if "%_TRIED_PULL%" neq "" goto _notice2_announce
if "%_GIT_GIT%" equ "" goto _notice2_announce
if not exist ..\..\windows-build\.git goto _notice2_announce
echo *****************************************************
echo *****************************************************
echo ** **
echo ** The required build support is out of date. **
echo ** **
echo ** Attempting update of your local windows-build **
echo ** git repository. This may take a minute... **
echo ** **
echo *****************************************************
echo *****************************************************
pushd ..\..\windows-build
"%_GIT_GIT%" pull
popd
set _TRIED_PULL=1
goto _check_build
:_notice2_announce
echo ***************************************************** echo *****************************************************
echo ***************************************************** echo *****************************************************
echo ** The required build support is out of date. ** echo ** The required build support is out of date. **