Keep downloaded files in a separate directory
As a side effect, this re-enables building the Windows installer on Linux hosts.
This commit is contained in:
18
.gitignore
vendored
18
.gitignore
vendored
@@ -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
|
||||
*~
|
||||
|
||||
@@ -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
|
||||
|
||||
57
Makefile
57
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 \
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -48,33 +48,33 @@
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="SharpFont">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\thirdparty\SharpFont.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\SharpFont.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Nat">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<Private>False</Private>
|
||||
<Package>mono.nat</Package>
|
||||
<HintPath>..\thirdparty\Mono.Nat.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Mono.Nat.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib">
|
||||
<HintPath>..\thirdparty\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="MaxMind.GeoIP2">
|
||||
<HintPath>..\thirdparty\MaxMind.GeoIP2.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\MaxMind.GeoIP2.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="MaxMind.Db">
|
||||
<HintPath>..\thirdparty\MaxMind.Db.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\MaxMind.Db.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="SDL2-CS">
|
||||
<HintPath>..\thirdparty\SDL2-CS.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\SDL2-CS.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="FuzzyLogicLibrary">
|
||||
<HintPath>..\thirdparty\FuzzyLogicLibrary.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\FuzzyLogicLibrary.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
@@ -42,22 +42,22 @@
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="StyleCop">
|
||||
<HintPath>..\thirdparty\StyleCop.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\StyleCop.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MaxMind.GeoIP2">
|
||||
<HintPath>..\thirdparty\MaxMind.GeoIP2.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\MaxMind.GeoIP2.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Mono.Nat">
|
||||
<HintPath>..\thirdparty\Mono.Nat.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Mono.Nat.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib">
|
||||
<HintPath>..\thirdparty\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="Eluant">
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="SDL2-CS">
|
||||
<HintPath>..\thirdparty\SDL2-CS.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\SDL2-CS.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
<ItemGroup>
|
||||
<Reference Include="Eluant, Version=1.0.5229.27703, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\thirdparty\Eluant.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\Eluant.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.6.3.13283, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\thirdparty\nunit.framework.dll</HintPath>
|
||||
<HintPath>..\thirdparty\download\nunit.framework.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
|
||||
@@ -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:
|
||||
|
||||
9
make.ps1
9
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."
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
25
packaging/windows/buildpackage.sh
Executable file
25
packaging/windows/buildpackage.sh
Executable file
@@ -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
|
||||
@@ -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
|
||||
20
thirdparty/fetch-thirdparty-deps-osx.sh
vendored
Executable file
20
thirdparty/fetch-thirdparty-deps-osx.sh
vendored
Executable file
@@ -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
|
||||
27
thirdparty/fetch-thirdparty-deps-windows.sh
vendored
27
thirdparty/fetch-thirdparty-deps-windows.sh
vendored
@@ -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
|
||||
|
||||
6
thirdparty/fetch-thirdparty-deps.ps1
vendored
6
thirdparty/fetch-thirdparty-deps.ps1
vendored
@@ -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 ..
|
||||
|
||||
5
thirdparty/fetch-thirdparty-deps.sh
vendored
5
thirdparty/fetch-thirdparty-deps.sh
vendored
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user