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