diff --git a/.gitignore b/.gitignore index 8f94ea5004..5e7a49b8fa 100644 --- a/.gitignore +++ b/.gitignore @@ -28,23 +28,7 @@ mods/*/*.mdb /*.pdb /*.mdb /*.exe -thirdparty/StyleCop* -thirdparty/ICSharpCode.SharpZipLib.dll* -thirdparty/MaxMind* -thirdparty/RestSharp* -thirdparty/Newtonsoft.Json* -thirdparty/SharpFont* -thirdparty/windows/freetype6.dll -thirdparty/nunit* -thirdparty/windows/SDL2.dll -thirdparty/Mono.Nat.dll -thirdparty/Moq.dll -thirdparty/nuget.exe -thirdparty/windows/lua51.dll -thirdparty/windows/soft_oal.dll -thirdparty/FuzzyLogicLibrary.dll -thirdparty/SDL2-CS.dll -thirdparty/Eluant.dll +thirdparty/download/* # backup files by various editors *~ diff --git a/.travis.yml b/.travis.yml index c389da58da..bad4b13736 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ env: # Run the build script # call RALint to check for YAML errors script: - - travis_retry make cli-dependencies + - travis_retry make all-dependencies - make all - make check - make test diff --git a/Makefile b/Makefile index eb80a08d0b..f5d00fa8ef 100644 --- a/Makefile +++ b/Makefile @@ -40,7 +40,7 @@ CSC = dmcs CSFLAGS = -nologo -warn:4 -debug:full -optimize- -codepage:utf8 -unsafe -warnaserror DEFINE = DEBUG;TRACE -COMMON_LIBS = System.dll System.Core.dll System.Data.dll System.Data.DataSetExtensions.dll System.Drawing.dll System.Xml.dll thirdparty/ICSharpCode.SharpZipLib.dll thirdparty/FuzzyLogicLibrary.dll thirdparty/Mono.Nat.dll thirdparty/MaxMind.Db.dll thirdparty/MaxMind.GeoIP2.dll thirdparty/Eluant.dll +COMMON_LIBS = System.dll System.Core.dll System.Data.dll System.Data.DataSetExtensions.dll System.Drawing.dll System.Xml.dll thirdparty/download/ICSharpCode.SharpZipLib.dll thirdparty/download/FuzzyLogicLibrary.dll thirdparty/download/Mono.Nat.dll thirdparty/download/MaxMind.Db.dll thirdparty/download/MaxMind.GeoIP2.dll thirdparty/download/Eluant.dll @@ -74,6 +74,14 @@ CORE = rsdl2 rnull game utility TOOLS = editor crashdialog VERSION = $(shell git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || echo git-`git rev-parse --short HEAD`) +# dependencies +UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Linux) +os-dependencies = linux-dependencies +else ifeq ($(UNAME_S),Darwin) +os-dependencies = osx-dependencies +endif + ######################## PROGRAM TARGET RULES ########################## @@ -83,7 +91,7 @@ VERSION = $(shell git name-rev --name-only --tags --no-undefined HEAD 2>/dev game_SRCS := $(shell find OpenRA.Game/ -iname '*.cs') game_TARGET = OpenRA.Game.exe game_KIND = winexe -game_LIBS = $(COMMON_LIBS) $(game_DEPS) thirdparty/SDL2-CS.dll thirdparty/SharpFont.dll +game_LIBS = $(COMMON_LIBS) $(game_DEPS) thirdparty/download/SDL2-CS.dll thirdparty/download/SharpFont.dll game_FLAGS = -win32icon:OpenRA.Game/OpenRA.ico PROGRAMS += game game: $(game_TARGET) @@ -93,7 +101,7 @@ rsdl2_SRCS := $(shell find OpenRA.Renderer.Sdl2/ -iname '*.cs') rsdl2_TARGET = OpenRA.Renderer.Sdl2.dll rsdl2_KIND = library rsdl2_DEPS = $(game_TARGET) -rsdl2_LIBS = $(COMMON_LIBS) thirdparty/SDL2-CS.dll $(rsdl2_DEPS) +rsdl2_LIBS = $(COMMON_LIBS) thirdparty/download/SDL2-CS.dll $(rsdl2_DEPS) rnull_SRCS := $(shell find OpenRA.Renderer.Null/ -iname '*.cs') rnull_TARGET = OpenRA.Renderer.Null.dll @@ -108,7 +116,7 @@ mod_common_SRCS := $(shell find OpenRA.Mods.Common/ -iname '*.cs') mod_common_TARGET = mods/common/OpenRA.Mods.Common.dll mod_common_KIND = library mod_common_DEPS = $(game_TARGET) -mod_common_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) thirdparty/StyleCop.dll thirdparty/StyleCop.CSharp.dll thirdparty/StyleCop.CSharp.Rules.dll +mod_common_LIBS = $(COMMON_LIBS) $(STD_MOD_LIBS) thirdparty/download/StyleCop.dll thirdparty/download/StyleCop.CSharp.dll thirdparty/download/StyleCop.CSharp.Rules.dll PROGRAMS += mod_common mod_common: $(mod_common_TARGET) @@ -160,7 +168,7 @@ editor_SRCS := $(shell find OpenRA.Editor/ -iname '*.cs') editor_TARGET = OpenRA.Editor.exe editor_KIND = winexe editor_DEPS = $(game_TARGET) $(mod_common_TARGET) -editor_LIBS = System.Windows.Forms.dll System.Data.dll System.Drawing.dll $(editor_DEPS) thirdparty/Eluant.dll +editor_LIBS = System.Windows.Forms.dll System.Data.dll System.Drawing.dll $(editor_DEPS) thirdparty/download/Eluant.dll editor_EXTRA = -resource:OpenRA.Editor.Form1.resources -resource:OpenRA.Editor.MapSelect.resources editor_FLAGS = -win32icon:OpenRA.Editor/OpenRA.Editor.Icon.ico @@ -240,7 +248,7 @@ utility_SRCS := $(shell find OpenRA.Utility/ -iname '*.cs') utility_TARGET = OpenRA.Utility.exe utility_KIND = exe utility_DEPS = $(game_TARGET) -utility_LIBS = $(COMMON_LIBS) $(utility_DEPS) thirdparty/ICSharpCode.SharpZipLib.dll +utility_LIBS = $(COMMON_LIBS) $(utility_DEPS) thirdparty/download/ICSharpCode.SharpZipLib.dll PROGRAMS += utility utility: $(utility_TARGET) @@ -271,38 +279,47 @@ $(foreach prog,$(PROGRAMS),$(eval $(call BUILD_ASSEMBLY,$(prog)))) ########################## MAKE/INSTALL RULES ########################## # -default: dependencies core +default: core core: game renderers mods utility tools: editor gamemonitor -package: cli-dependencies core editor gamemonitor docs version +package: all-dependencies core tools docs version mods: mod_common mod_ra mod_cnc mod_d2k mod_ts -all: cli-dependencies core tools +all: dependencies core tools clean: - @-$(RM_F) *.exe *.dll ./OpenRA*/*.dll ./OpenRA*/*.mdb *.mdb mods/**/*.dll mods/**/*.mdb *.resources + @-$(RM_F) *.exe *.dll *.dylib *.config ./OpenRA*/*.dll ./OpenRA*/*.mdb *.mdb mods/**/*.dll mods/**/*.mdb *.resources @-$(RM_RF) ./*/bin ./*/obj - @-$(RM_F) ./thirdparty/*.dll - @-$(RM_RF) ./thirdparty/windows + @-$(RM_RF) ./thirdparty/download distclean: clean -dependencies: cli-dependencies native-dependencies +cli-dependencies: + @./thirdparty/fetch-thirdparty-deps.sh + @ $(CP_R) thirdparty/download/*.dll . + @ $(CP_R) thirdparty/download/*.dll.config . + @ $(CP) thirdparty/SDL2-CS.dll.config . + +linux-dependencies: cli-dependencies linux-native-dependencies + +linux-native-dependencies: + @./thirdparty/configure-linux-native-deps.sh windows-dependencies: - cd thirdparty && ./fetch-thirdparty-deps-windows.sh && cd .. + @./thirdparty/fetch-thirdparty-deps-windows.sh -cli-dependencies: - cd thirdparty && ./fetch-thirdparty-deps.sh && cd .. - @ $(CP_R) thirdparty/*.dll . - @ $(CP_R) thirdparty/*.dll.config . +osx-dependencies: cli-dependencies + @./thirdparty/fetch-thirdparty-deps-osx.sh + @ $(CP_R) thirdparty/download/osx/*.dylib . + @ $(CP_R) thirdparty/download/osx/*.dll.config . -native-dependencies: - @./thirdparty/configure-native-deps.sh +dependencies: $(os-dependencies) + +all-dependencies: cli-dependencies windows-dependencies osx-dependencies version: mods/ra/mod.yaml mods/cnc/mod.yaml mods/d2k/mod.yaml mods/modchooser/mod.yaml @for i in $? ; do \ diff --git a/OpenRA.Editor/OpenRA.Editor.csproj b/OpenRA.Editor/OpenRA.Editor.csproj index 85565039fe..dc3433b873 100644 --- a/OpenRA.Editor/OpenRA.Editor.csproj +++ b/OpenRA.Editor/OpenRA.Editor.csproj @@ -59,7 +59,7 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index c56f82c42f..37d77b0681 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -48,33 +48,33 @@ False - ..\thirdparty\SharpFont.dll + ..\thirdparty\download\SharpFont.dll False False False mono.nat - ..\thirdparty\Mono.Nat.dll + ..\thirdparty\download\Mono.Nat.dll - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False - ..\thirdparty\ICSharpCode.SharpZipLib.dll + ..\thirdparty\download\ICSharpCode.SharpZipLib.dll False - ..\thirdparty\MaxMind.GeoIP2.dll + ..\thirdparty\download\MaxMind.GeoIP2.dll False - ..\thirdparty\MaxMind.Db.dll + ..\thirdparty\download\MaxMind.Db.dll False - ..\thirdparty\SDL2-CS.dll + ..\thirdparty\download\SDL2-CS.dll False diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj index 3991badec4..b363c85d5e 100644 --- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj +++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj @@ -54,7 +54,7 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index 043b30ee4a..83e79644b5 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -32,7 +32,7 @@ - ..\thirdparty\FuzzyLogicLibrary.dll + ..\thirdparty\download\FuzzyLogicLibrary.dll False @@ -42,22 +42,22 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False - ..\thirdparty\StyleCop.dll + ..\thirdparty\download\StyleCop.dll - ..\thirdparty\MaxMind.GeoIP2.dll + ..\thirdparty\download\MaxMind.GeoIP2.dll False - ..\thirdparty\Mono.Nat.dll + ..\thirdparty\download\Mono.Nat.dll False - ..\thirdparty\ICSharpCode.SharpZipLib.dll + ..\thirdparty\download\ICSharpCode.SharpZipLib.dll False diff --git a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj index f64bc6dea0..08e23c5c17 100644 --- a/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj +++ b/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj @@ -55,7 +55,7 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj index ce5e415f32..afd27135f0 100644 --- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj +++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj @@ -52,7 +52,7 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False diff --git a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj index 8526ed1256..9d59c61154 100644 --- a/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj +++ b/OpenRA.Mods.TS/OpenRA.Mods.TS.csproj @@ -31,7 +31,7 @@ - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False diff --git a/OpenRA.Renderer.Sdl2/OpenRA.Renderer.Sdl2.csproj b/OpenRA.Renderer.Sdl2/OpenRA.Renderer.Sdl2.csproj index 8b47d7f15e..aa4d73ff17 100644 --- a/OpenRA.Renderer.Sdl2/OpenRA.Renderer.Sdl2.csproj +++ b/OpenRA.Renderer.Sdl2/OpenRA.Renderer.Sdl2.csproj @@ -24,7 +24,7 @@ - ..\thirdparty\SDL2-CS.dll + ..\thirdparty\download\SDL2-CS.dll False diff --git a/OpenRA.Test/OpenRA.Test.csproj b/OpenRA.Test/OpenRA.Test.csproj index 9834982f85..c5dda90a98 100644 --- a/OpenRA.Test/OpenRA.Test.csproj +++ b/OpenRA.Test/OpenRA.Test.csproj @@ -24,12 +24,12 @@ False - ..\thirdparty\Eluant.dll + ..\thirdparty\download\Eluant.dll False False - ..\thirdparty\nunit.framework.dll + ..\thirdparty\download\nunit.framework.dll False diff --git a/appveyor.yml b/appveyor.yml index a7d56a41a8..3c9433f6f7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -8,8 +8,7 @@ install: cache: - nsissetup.exe -> appveyor.yaml - NsProcess.zip -> appveyor.yaml - - thirdparty -> thirdparty\fetch-thirdparty-deps.ps1 - - thirdparty\windows -> thirdparty\fetch-thirdparty-deps.ps1 + - thirdparty\download -> thirdparty\fetch-thirdparty-deps.ps1 before_build: - make dependencies @@ -36,7 +35,7 @@ after_test: - if not exist NsProcess.zip appveyor DownloadFile "http://nsis.sourceforge.net/mediawiki/images/archive/1/18/20140806212030!NsProcess.zip" -FileName NsProcess.zip - 7z x NsProcess.zip -o%NSIS_ROOT% -y - move /Y %NSIS_ROOT%\Plugin\nsProcess.dll %NSIS_ROOT%\Plugins\nsProcess.dll - - '%NSIS_ROOT%\makensis /DSRCDIR="%APPVEYOR_BUILD_FOLDER%" /DDEPSDIR="%APPVEYOR_BUILD_FOLDER%\thirdparty\windows" /V3 packaging/windows/OpenRA.nsi' + - '%NSIS_ROOT%\makensis /DSRCDIR="%APPVEYOR_BUILD_FOLDER%" /DDEPSDIR="%APPVEYOR_BUILD_FOLDER%\thirdparty\download\windows" /V3 packaging/windows/OpenRA.nsi' - move /Y %APPVEYOR_BUILD_FOLDER%\packaging\windows\OpenRA.Setup.exe %APPVEYOR_BUILD_FOLDER%\OpenRA-%APPVEYOR_REPO_TAG_NAME%.exe artifacts: diff --git a/make.ps1 b/make.ps1 index a2163819c5..1f4259ef21 100644 --- a/make.ps1 +++ b/make.ps1 @@ -74,10 +74,9 @@ elseif ($command -eq "clean") rm *.dll rm *.config rm mods/*/*.dll - rm thirdparty/*.dll - if(Test-Path -Path thirdparty/windows/) + if (Test-Path -Path thirdparty/download/) { - rmdir thirdparty/windows/ -Recurse + rmdir thirdparty/download -Recurse -Force } echo "Clean complete." } @@ -116,8 +115,8 @@ elseif ($command -eq "dependencies") { cd thirdparty ./fetch-thirdparty-deps.ps1 - cp *.dll .. - cp windows/*.dll .. + cp download/*.dll .. + cp download/windows/*.dll .. cd .. echo "Dependencies copied." } diff --git a/packaging/package-all.sh b/packaging/package-all.sh index e5297df063..fbdcd35bb6 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -47,28 +47,29 @@ for i in "${FILES[@]}"; do done # SharpZipLib for zip file support -cp thirdparty/ICSharpCode.SharpZipLib.dll packaging/built +cp thirdparty/download/ICSharpCode.SharpZipLib.dll packaging/built # FuzzyLogicLibrary for improved AI -cp thirdparty/FuzzyLogicLibrary.dll packaging/built +cp thirdparty/download/FuzzyLogicLibrary.dll packaging/built # SharpFont for FreeType support -cp thirdparty/SharpFont* packaging/built +cp thirdparty/download/SharpFont* packaging/built # SDL2-CS +cp thirdparty/download/SDL2-CS* packaging/built cp thirdparty/SDL2-CS* packaging/built # Mono.NAT for UPnP support -cp thirdparty/Mono.Nat.dll packaging/built +cp thirdparty/download/Mono.Nat.dll packaging/built # Eluant (Lua integration) -cp thirdparty/Eluant* packaging/built +cp thirdparty/download/Eluant* packaging/built # GeoIP database access -cp thirdparty/MaxMind.Db.dll packaging/built -cp thirdparty/MaxMind.GeoIP2.dll packaging/built -cp thirdparty/Newtonsoft.Json.dll packaging/built -cp thirdparty/RestSharp.dll packaging/built +cp thirdparty/download/MaxMind.Db.dll packaging/built +cp thirdparty/download/MaxMind.GeoIP2.dll packaging/built +cp thirdparty/download/Newtonsoft.Json.dll packaging/built +cp thirdparty/download/RestSharp.dll packaging/built # Copy game icon for windows package cp OpenRA.Game/OpenRA.ico packaging/built @@ -79,23 +80,16 @@ cp OpenRA.exe packaging/built cd packaging echo "Creating packages..." -if [ -x /usr/bin/makensis ]; then - pushd windows - echo "Building Windows setup.exe" - makensis -V2 -DSRCDIR="$BUILTDIR" -DDEPSDIR="${SRCDIR}/thirdparty/windows" OpenRA.nsi - if [ $? -eq 0 ]; then - mv OpenRA.Setup.exe "$OUTPUTDIR"/OpenRA-$TAG.exe - else - echo "Windows package build failed." - fi - popd -else - echo "Skipping Windows setup.exe build due to missing NSIS" +pushd windows +./buildpackage.sh "$TAG" "$BUILTDIR" "$SRCDIR" "$OUTPUTDIR" +if [ $? -ne 0 ]; then + echo "Windows package build failed." fi +popd pushd osx echo "Zipping OS X package" -bash buildpackage.sh "$TAG" "$BUILTDIR" "$OUTPUTDIR" +./buildpackage.sh "$TAG" "$BUILTDIR" "$OUTPUTDIR" if [ $? -ne 0 ]; then echo "OS X package build failed." fi @@ -103,7 +97,7 @@ popd pushd linux echo "Building Linux packages" -bash buildpackage.sh "$TAG" "$BUILTDIR" "$OUTPUTDIR" +./buildpackage.sh "$TAG" "$BUILTDIR" "$OUTPUTDIR" if [ $? -ne 0 ]; then echo "Linux package build failed." fi diff --git a/packaging/windows/buildpackage.sh b/packaging/windows/buildpackage.sh new file mode 100755 index 0000000000..176ef99dd7 --- /dev/null +++ b/packaging/windows/buildpackage.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +TAG="$1" +BUILTDIR="$2" +SRCDIR="$3" +OUTPUTDIR="$4" + +if [ -x /usr/bin/makensis ]; then + pushd "$SRCDIR" >/dev/null + popd >/dev/null + if [[ ! -f /usr/share/nsis/Include/nsProcess.nsh && ! -f /usr/share/nsis/Plugin/nsProcess.dll ]]; then + echo "Installing NsProcess NSIS plugin in /usr/share/nsis" + sudo unzip -qq -o ${SRCDIR}/thirdparty/download/NsProcess.zip 'Include/*' -d /usr/share/nsis + sudo unzip -qq -j -o ${SRCDIR}/thirdparty/download/NsProcess.zip 'Plugin/*' -d /usr/share/nsis/Plugins + fi + echo "Building Windows setup.exe" + makensis -V2 -DSRCDIR="$BUILTDIR" -DDEPSDIR="${SRCDIR}/thirdparty/download/windows" OpenRA.nsi + if [ $? -eq 0 ]; then + mv OpenRA.Setup.exe "$OUTPUTDIR"/OpenRA-$TAG.exe + else + exit 1 + fi +else + echo "Skipping Windows setup.exe build due to missing NSIS" +fi diff --git a/thirdparty/configure-native-deps.sh b/thirdparty/configure-linux-native-deps.sh similarity index 57% rename from thirdparty/configure-native-deps.sh rename to thirdparty/configure-linux-native-deps.sh index 6ea8bd1a58..b3f07e1652 100755 --- a/thirdparty/configure-native-deps.sh +++ b/thirdparty/configure-linux-native-deps.sh @@ -27,19 +27,4 @@ if [ "$os" == 'Linux' ]; then sed "s/@LIBLUA51@/${liblua51}/" thirdparty/Eluant.dll.config.in > Eluant.dll.config echo "Eluant.dll.config has been created successfully." fi -elif [ "$os" == 'Darwin' ]; then - if [ ! -f libSDL2.dylib ]; then - echo "Fetching OS X SDL2 library from GitHub." - curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/libSDL2.dylib - fi - - if [ ! -f liblua.5.1.dylib ]; then - echo "Fetching OS X Lua 5.1 library from GitHub." - curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/liblua.5.1.dylib - fi - - if [ ! -f Eluant.dll.config ]; then - echo "Fetching OS X Lua configuration file from GitHub." - curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/Eluant.dll.config - fi fi diff --git a/thirdparty/fetch-thirdparty-deps-osx.sh b/thirdparty/fetch-thirdparty-deps-osx.sh new file mode 100755 index 0000000000..d1b61dc93a --- /dev/null +++ b/thirdparty/fetch-thirdparty-deps-osx.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +download_dir="${0%/*}/download/osx" +mkdir -p "$download_dir" +cd "$download_dir" + +if [ ! -f libSDL2.dylib ]; then + echo "Fetching OS X SDL2 library from GitHub." + curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/libSDL2.dylib +fi + +if [ ! -f liblua.5.1.dylib ]; then + echo "Fetching OS X Lua 5.1 library from GitHub." + curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/liblua.5.1.dylib +fi + +if [ ! -f Eluant.dll.config ]; then + echo "Fetching OS X Lua configuration file from GitHub." + curl -LOs https://raw.githubusercontent.com/OpenRA/OpenRALauncherOSX/master/dependencies/Eluant.dll.config +fi diff --git a/thirdparty/fetch-thirdparty-deps-windows.sh b/thirdparty/fetch-thirdparty-deps-windows.sh index 2d81bdc02e..356eef284d 100755 --- a/thirdparty/fetch-thirdparty-deps-windows.sh +++ b/thirdparty/fetch-thirdparty-deps-windows.sh @@ -3,34 +3,39 @@ # Die on any error for Travis CI to automatically retry: set -e -if [ ! -d windows ]; then - mkdir windows -fi +download_dir="${0%/*}/download/windows" -if [ ! -f windows/SDL2.dll ]; then +mkdir -p "${download_dir}" +cd "${download_dir}" + +if [ ! -f SDL2.dll ]; then echo "Fetching SDL2 from nuget" nuget install sdl2 -Version 2.0.3 -ExcludeVersion - cp ./sdl2.redist/build/native/bin/Win32/dynamic/SDL2.dll ./windows/ + cp ./sdl2.redist/build/native/bin/Win32/dynamic/SDL2.dll . rm -rf sdl2 sdl2.redist fi -if [ ! -f windows/freetype6.dll ]; then +if [ ! -f freetype6.dll ]; then echo "Fetching FreeType2 from nuget" nuget install SharpFont.Dependencies -Version 2.5.5.1 -ExcludeVersion - cp ./SharpFont.Dependencies/bin/msvc10/x86/freetype6.dll ./windows/ + cp ./SharpFont.Dependencies/bin/msvc10/x86/freetype6.dll . rm -rf SharpFont.Dependencies fi -if [ ! -f windows/lua51.dll ]; then +if [ ! -f lua51.dll ]; then echo "Fetching Lua 5.1 from nuget" nuget install lua.binaries -Version 5.1.5 -ExcludeVersion - cp ./lua.binaries/bin/win32/dll8/lua5.1.dll ./windows/lua51.dll + cp ./lua.binaries/bin/win32/dll8/lua5.1.dll ./lua51.dll rm -rf lua.binaries fi -if [ ! -f windows/soft_oal.dll ]; then +if [ ! -f soft_oal.dll ]; then echo "Fetching OpenAL Soft from nuget" nuget install OpenAL-Soft -Version 1.16.0 -ExcludeVersion - cp ./OpenAL-Soft/bin/Win32/soft_oal.dll windows/soft_oal.dll + cp ./OpenAL-Soft/bin/Win32/soft_oal.dll ./soft_oal.dll rm -rf OpenAL-Soft fi + +if [ ! -f ../NsProcess.zip ]; then + curl -s -L -o ../NsProcess.zip http://nsis.sourceforge.net/mediawiki/images/archive/1/18/20140806212030!NsProcess.zip +fi diff --git a/thirdparty/fetch-thirdparty-deps.ps1 b/thirdparty/fetch-thirdparty-deps.ps1 index d8a0486839..21eb138daa 100644 --- a/thirdparty/fetch-thirdparty-deps.ps1 +++ b/thirdparty/fetch-thirdparty-deps.ps1 @@ -1,4 +1,6 @@ -mkdir windows -Force >$null +mkdir download/windows -Force >$null + +cd download if (!(Test-Path "nuget.exe")) { @@ -127,3 +129,5 @@ if (!(Test-Path "Eluant.dll")) $target = Join-Path $pwd.ToString() "Eluant.dll" (New-Object System.Net.WebClient).DownloadFile("https://github.com/OpenRA/Eluant/releases/download/20140425/Eluant.dll", $target) } + +cd .. diff --git a/thirdparty/fetch-thirdparty-deps.sh b/thirdparty/fetch-thirdparty-deps.sh index 40c0c059ed..f954368ccd 100755 --- a/thirdparty/fetch-thirdparty-deps.sh +++ b/thirdparty/fetch-thirdparty-deps.sh @@ -3,6 +3,11 @@ # Die on any error for Travis CI to automatically retry: set -e +download_dir="${0%/*}/download" + +mkdir -p "${download_dir}" +cd "${download_dir}" + if [ ! -f StyleCopPlus.dll ]; then echo "Fetching StyleCopPlus from nuget" nuget install StyleCopPlus.MSBuild -Version 4.7.49.5 -ExcludeVersion