From: <man...@us...> - 2015-05-16 11:18:32
|
Revision: 5111 http://sourceforge.net/p/modplug/code/5111 Author: manxorist Date: 2015-05-16 11:18:26 +0000 (Sat, 16 May 2015) Log Message: ----------- [Var] build: Add build/download_externals.cmd script which downloads and builds premake (using the most modern Visual Studio it can find) and downloads and unpacks all other dependencies that we cannot redistribute (ASIO SDK, VST SDK, XMPlay SDK, Winamp SDK). This is a one-click solution. The script requires Windows 7 (uses PowerShell for downloading) and 7-zip installed to the default install path. Modified Paths: -------------- trunk/OpenMPT/build/regenerate_vs_projects.cmd Added Paths: ----------- trunk/OpenMPT/build/download_externals.cmd Property Changed: ---------------- trunk/OpenMPT/build/ trunk/OpenMPT/include/premake/ Index: trunk/OpenMPT/build =================================================================== --- trunk/OpenMPT/build 2015-05-16 06:52:07 UTC (rev 5110) +++ trunk/OpenMPT/build 2015-05-16 11:18:26 UTC (rev 5111) Property changes on: trunk/OpenMPT/build ___________________________________________________________________ Modified: svn:ignore ## -1,2 +1,3 ## +externals lib obj Added: trunk/OpenMPT/build/download_externals.cmd =================================================================== --- trunk/OpenMPT/build/download_externals.cmd (rev 0) +++ trunk/OpenMPT/build/download_externals.cmd 2015-05-16 11:18:26 UTC (rev 5111) @@ -0,0 +1,127 @@ +@echo off + +echo WARNING: This script will unconditionally remove all files from the destination directories. +echo This script requires Windows 7 or later (because of PowerShell). +echo This script requires 7-zip in "C:\Program Files\7-Zip\" (the default path for a native install). +echo When running from a Subversion working copy, this script requires at least Subversion 1.7 (because it removes subdirectories which should not contain .svn metadata). + +pause + +set MY_DIR=%CD% +set BATCH_DIR=%~dp0 +cd %BATCH_DIR% || goto error +cd .. || goto error +goto main + +:download_and_unpack + set MPT_GET_DESTDIR="%~1" + set MPT_GET_URL="%~2" + set MPT_GET_FILE="%~3" + set MPT_GET_SUBDIR="%~4" + if not exist "build\externals\%~3" ( + powershell -Command "(New-Object Net.WebClient).DownloadFile('%MPT_GET_URL%', 'build/externals/%~3')" || exit /B 1 + ) + cd include || exit /B 1 + if exist %MPT_GET_DESTDIR% rmdir /S /Q %MPT_GET_DESTDIR% + if "%~4" == "." ( + mkdir %MPT_GET_DESTDIR% + cd %MPT_GET_DESTDIR% || exit /B 1 + "C:\Program Files\7-Zip\7z.exe" x -y "..\..\build\externals\%~3" || exit /B 1 + cd .. || exit /B 1 + ) + if not "%~4" == "." ( + "C:\Program Files\7-Zip\7z.exe" x -y "..\build\externals\%~3" || exit /B 1 + choice /C y /N /T 2 /D y + move /Y "%~4" %MPT_GET_DESTDIR% || exit /B 1 + ) + cd .. || exit /B 1 +exit /B 0 +goto error + +:main +if not exist "build\externals" mkdir "build\externals" + +rem call :download_and_unpack "premake" "https://downloads.sourceforge.net/project/premake/5.0/premake-5.0-alpha3-windows.zip" "premake-5.0-alpha3-windows.zip" "." || goto error + +call :download_and_unpack "premake" "https://downloads.sourceforge.net/project/premake/5.0/premake-5.0-alpha3-src.zip" "premake-5.0-alpha3-src.zip" "premake-5.0-alpha3" || goto error + +if exist "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2013.cmd || goto error + cd include\premake\build\vs2013 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) +if exist "C:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2013.cmd || goto error + cd include\premake\build\vs2013 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) + +if exist "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2012.cmd || goto error + cd include\premake\build\vs2012 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) +if exist "C:\Program Files\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2012.cmd || goto error + cd include\premake\build\vs2012 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) + +if exist "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2010.cmd || goto error + cd include\premake\build\vs2010 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) +if exist "C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2010.cmd || goto error + cd include\premake\build\vs2010 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) + +if exist "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2008.cmd || goto error + cd include\premake\build\vs2008 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) +if exist "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" ( + call build\auto\setup_vs2008.cmd || goto error + cd include\premake\build\vs2008 || goto error + devenv Premake5.sln /build "Release|Win32" || goto error + cd ..\..\..\.. || goto error + goto premakedone +) + +goto error + +:premakedone + +call :download_and_unpack "winamp" "http://download.nullsoft.com/winamp/plugin-dev/WA5.55_SDK.exe" "WA5.55_SDK.exe" "." || goto error +call :download_and_unpack "xmplay" "http://us.un4seen.com/files/xmp-sdk.zip" "xmp-sdk.zip" "." || goto error +call :download_and_unpack "ASIOSDK2" "https://www.steinberg.net/sdk_downloads/asiosdk2.3.zip" "asiosdk2.3.zip" "ASIOSDK2.3" || goto error +call :download_and_unpack "vstsdk2.4" "https://www.steinberg.net/sdk_downloads/vstsdk360_22_11_2013_build_100.zip" "vstsdk360_22_11_2013_build_100.zip" "VST3 SDK" || goto error + +goto ok + +:ok +echo "All OK." +goto end +:error +echo "Error!" +goto end +:end +cd %MY_DIR% +pause Property changes on: trunk/OpenMPT/build/download_externals.cmd ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/x-cmd \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +CRLF \ No newline at end of property Modified: trunk/OpenMPT/build/regenerate_vs_projects.cmd =================================================================== --- trunk/OpenMPT/build/regenerate_vs_projects.cmd 2015-05-16 06:52:07 UTC (rev 5110) +++ trunk/OpenMPT/build/regenerate_vs_projects.cmd 2015-05-16 11:18:26 UTC (rev 5111) @@ -7,53 +7,59 @@ cd .. || goto err +set PREMAKE= +if exist "include\premake\premake5.exe" set PREMAKE=include\premake\premake5.exe +if exist "include\premake\bin\release\premake5.exe" set PREMAKE=include\premake\bin\release\premake5.exe + + + echo dofile "build/premake/premake.lua" > premake5.lua || goto err -include\premake\premake5.exe --group=libopenmpt_test vs2008 || goto err -include\premake\premake5.exe --group=libopenmpt vs2008 || goto err -include\premake\premake5.exe --group=openmpt123 vs2008 || goto err -include\premake\premake5.exe --group=PluginBridge vs2008 || goto err -include\premake\premake5.exe --group=OpenMPT vs2008 || goto err -include\premake\premake5.exe --group=all-externals vs2008 || goto err +%PREMAKE% --group=libopenmpt_test vs2008 || goto err +%PREMAKE% --group=libopenmpt vs2008 || goto err +%PREMAKE% --group=openmpt123 vs2008 || goto err +%PREMAKE% --group=PluginBridge vs2008 || goto err +%PREMAKE% --group=OpenMPT vs2008 || goto err +%PREMAKE% --group=all-externals vs2008 || goto err -include\premake\premake5.exe --group=libopenmpt_test vs2010 || goto err -include\premake\premake5.exe --group=foo_openmpt vs2010 || goto err -include\premake\premake5.exe --group=in_openmpt vs2010 || goto err -include\premake\premake5.exe --group=xmp-openmpt vs2010 || goto err -include\premake\premake5.exe --group=libopenmpt vs2010 || goto err -include\premake\premake5.exe --group=openmpt123 vs2010 || goto err -include\premake\premake5.exe --group=PluginBridge vs2010 || goto err -include\premake\premake5.exe --group=OpenMPT vs2010 || goto err -include\premake\premake5.exe --group=all-externals vs2010 || goto err +%PREMAKE% --group=libopenmpt_test vs2010 || goto err +%PREMAKE% --group=foo_openmpt vs2010 || goto err +%PREMAKE% --group=in_openmpt vs2010 || goto err +%PREMAKE% --group=xmp-openmpt vs2010 || goto err +%PREMAKE% --group=libopenmpt vs2010 || goto err +%PREMAKE% --group=openmpt123 vs2010 || goto err +%PREMAKE% --group=PluginBridge vs2010 || goto err +%PREMAKE% --group=OpenMPT vs2010 || goto err +%PREMAKE% --group=all-externals vs2010 || goto err -include\premake\premake5.exe --group=libopenmpt_test vs2012 || goto err -include\premake\premake5.exe --group=in_openmpt vs2012 || goto err -include\premake\premake5.exe --group=xmp-openmpt vs2012 || goto err -include\premake\premake5.exe --group=libopenmpt vs2012 || goto err -include\premake\premake5.exe --group=openmpt123 vs2012 || goto err -include\premake\premake5.exe --group=PluginBridge vs2012 || goto err -include\premake\premake5.exe --group=OpenMPT vs2012 || goto err -include\premake\premake5.exe --group=all-externals vs2012 || goto err +%PREMAKE% --group=libopenmpt_test vs2012 || goto err +%PREMAKE% --group=in_openmpt vs2012 || goto err +%PREMAKE% --group=xmp-openmpt vs2012 || goto err +%PREMAKE% --group=libopenmpt vs2012 || goto err +%PREMAKE% --group=openmpt123 vs2012 || goto err +%PREMAKE% --group=PluginBridge vs2012 || goto err +%PREMAKE% --group=OpenMPT vs2012 || goto err +%PREMAKE% --group=all-externals vs2012 || goto err -include\premake\premake5.exe --group=libopenmpt_test vs2013 || goto err -include\premake\premake5.exe --group=in_openmpt vs2013 || goto err -include\premake\premake5.exe --group=xmp-openmpt vs2013 || goto err -include\premake\premake5.exe --group=libopenmpt vs2013 || goto err -include\premake\premake5.exe --group=openmpt123 vs2013 || goto err -include\premake\premake5.exe --group=PluginBridge vs2013 || goto err -include\premake\premake5.exe --group=OpenMPT vs2013 || goto err -include\premake\premake5.exe --group=all-externals vs2013 || goto err +%PREMAKE% --group=libopenmpt_test vs2013 || goto err +%PREMAKE% --group=in_openmpt vs2013 || goto err +%PREMAKE% --group=xmp-openmpt vs2013 || goto err +%PREMAKE% --group=libopenmpt vs2013 || goto err +%PREMAKE% --group=openmpt123 vs2013 || goto err +%PREMAKE% --group=PluginBridge vs2013 || goto err +%PREMAKE% --group=OpenMPT vs2013 || goto err +%PREMAKE% --group=all-externals vs2013 || goto err -include\premake\premake5.exe --group=libopenmpt_test vs2015 || goto err -include\premake\premake5.exe --group=in_openmpt vs2015 || goto err -include\premake\premake5.exe --group=xmp-openmpt vs2015 || goto err -include\premake\premake5.exe --group=libopenmpt vs2015 || goto err -include\premake\premake5.exe --group=openmpt123 vs2015 || goto err -include\premake\premake5.exe --group=PluginBridge vs2015 || goto err -include\premake\premake5.exe --group=OpenMPT vs2015 || goto err -include\premake\premake5.exe --group=all-externals vs2015 || goto err +%PREMAKE% --group=libopenmpt_test vs2015 || goto err +%PREMAKE% --group=in_openmpt vs2015 || goto err +%PREMAKE% --group=xmp-openmpt vs2015 || goto err +%PREMAKE% --group=libopenmpt vs2015 || goto err +%PREMAKE% --group=openmpt123 vs2015 || goto err +%PREMAKE% --group=PluginBridge vs2015 || goto err +%PREMAKE% --group=OpenMPT vs2015 || goto err +%PREMAKE% --group=all-externals vs2015 || goto err -include\premake\premake5.exe postprocess || goto err +%PREMAKE% postprocess || goto err del premake5.lua || goto err Index: trunk/OpenMPT/include/premake =================================================================== --- trunk/OpenMPT/include/premake 2015-05-16 06:52:07 UTC (rev 5110) +++ trunk/OpenMPT/include/premake 2015-05-16 11:18:26 UTC (rev 5111) Property changes on: trunk/OpenMPT/include/premake ___________________________________________________________________ Modified: svn:ignore ## -1 +1 ## -premake5.exe +* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |