Package Cg and SDL frameworks inside the app bundle; Only external dependency is mono itself

This commit is contained in:
pchote
2010-02-21 23:15:54 +13:00
parent 9ad8410c37
commit 043429a5f3
6 changed files with 21 additions and 16 deletions

View File

@@ -1,8 +1,8 @@
#!/bin/sh
# OpenRA Packaging script for osx
# Creates a .app bundle for OpenRA game, and a command line app for OpenRa server
# Statically links all custom dlls into the executable, but requires the Mono and
# Cg frameworks installed on the target machine for these binaries to run
# Statically links all custom dlls into the executable; only requires Mono
# to run on a non-development machine
# List of game files to copy into the app bundle
# TODO: This will be significantly shorter once we move the ra files into its mod dir
@@ -17,8 +17,13 @@ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/Library/Frameworks/Mono.framework/Versi
mkbundle --deps --static -z -o openra_server OpenRA.Server.exe OpenRa.FileFormats.dll
# Package the game binary
mkbundle --deps --static -z -o OpenRA OpenRa.Game.exe OpenRa.FileFormats.dll thirdparty/Tao/Tao.Cg.dll thirdparty/Tao/Tao.OpenGl.dll thirdparty/Tao/Tao.OpenAl.dll thirdparty/Tao/Tao.FreeType.dll thirdparty/Tao/Tao.Sdl.dll thirdparty/Tao.Externals.dll thirdparty/ISE.FreeType.dll OpenRa.Gl.dll
mkbundle --deps --static -z -o OpenRA OpenRa.Game.exe OpenRa.Gl.dll OpenRa.FileFormats.dll thirdparty/Tao/Tao.Cg.dll thirdparty/Tao/Tao.OpenGl.dll thirdparty/Tao/Tao.OpenAl.dll thirdparty/Tao/Tao.FreeType.dll thirdparty/Tao/Tao.Sdl.dll thirdparty/Tao.Externals.dll thirdparty/ISE.FreeType.dll
# Copy everything into our game bundle template
# Copy game files into our game bundle template
cp -R packaging/osx/OpenRA.app .
cp -R $GAME_FILES OpenRA.app/Contents/Resources/
# Copy frameworks into our game bundle template
mkdir OpenRa.app/Contents/Frameworks/
cp -R /Library/Frameworks/Cg.Framework OpenRa.app/Contents/Frameworks/
cp -R /Library/Frameworks/SDL.Framework OpenRa.app/Contents/Frameworks/

View File

@@ -2,6 +2,6 @@
<dllmap dll="freetype6.dll">
<dllentry os="linux" dll="libfreetype.so.6" />
<dllentry os="windows" dll="freetype6.dll" />
<dllentry os="osx" dll="/sw/lib/libfreetype.dylib" />
<dllentry os="osx" dll="/usr/X11/lib/libfreetype.6.dylib" />
</dllmap>
</configuration>

View File

@@ -2,7 +2,7 @@
<dllmap dll="freetype6.dll">
<dllentry os="linux" dll="libfreetype.so.6" />
<dllentry os="windows" dll="freetype6.dll" />
<dllentry os="osx" dll="/sw/lib/libfreetype.dylib" />
<dllentry os="osx" dll="/usr/X11/lib/libfreetype.6.dylib" />
</dllmap>
</configuration>
<dllmap dll="OpenAL32.dll">

View File

@@ -2,11 +2,11 @@
<dllmap dll="cg.dll">
<dllentry os="linux" dll="libCg.so" />
<dllentry os="windows" dll="cg.dll" />
<dllentry os="osx" dll="/Library/Frameworks/Cg.framework/Cg" />
<dllentry os="osx" dll="../Frameworks/Cg.framework/Cg" />
</dllmap>
<dllmap dll="cgGL.dll">
<dllentry os="linux" dll="libCgGL.so" />
<dllentry os="windows" dll="cgGL.dll" />
<dllentry os="osx" dll="/Library/Frameworks/Cg.framework/Cg" />
<dllentry os="osx" dll="../Frameworks/Cg.framework/Cg" />
</dllmap>
</configuration>

View File

@@ -2,6 +2,6 @@
<dllmap dll="freetype6.dll">
<dllentry os="linux" dll="libfreetype.so.6" />
<dllentry os="windows" dll="freetype6.dll" />
<dllentry os="osx" dll="/sw/lib/libfreetype.dylib" />
<dllentry os="osx" dll="/usr/X11/lib/libfreetype.6.dylib" />
</dllmap>
</configuration>

View File

@@ -2,36 +2,36 @@
<dllmap dll="SDL.dll">
<dllentry os="linux" dll="libSDL-1.2.so.0"/>
<dllentry os="windows" dll="SDL.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL.framework/SDL" />
<dllentry os="osx" dll="../Frameworks/SDL.framework/SDL" />
</dllmap>
<dllmap dll="SDL_image.dll">
<dllentry os="linux" dll="libSDL_image-1.2.so.0" />
<dllentry os="windows" dll="SDL_image.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_image.framework/SDL_image" />
<dllentry os="osx" dll="../Frameworks/SDL_image.framework/SDL_image" />
</dllmap>
<dllmap dll="SDL_mixer.dll">
<dllentry os="linux" dll="libSDL_mixer-1.2.so.0" />
<dllentry os="windows" dll="SDL_mixer.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_mixer.framework/SDL_mixer" />
<dllentry os="osx" dll="../Frameworks/SDL_mixer.framework/SDL_mixer" />
</dllmap>
<dllmap dll="SDL_ttf.dll">
<dllentry os="linux" dll="libSDL_ttf-2.0.so.0" />
<dllentry os="windows" dll="SDL_ttf.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_ttf.framework/SDL_ttf" />
<dllentry os="osx" dll="../Frameworks/SDL_ttf.framework/SDL_ttf" />
</dllmap>
<dllmap dll="SDL_net.dll">
<dllentry os="linux" dll="libSDL_net-1.2.so.0" />
<dllentry os="windows" dll="SDL_net.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_net.framework/SDL_net" />
<dllentry os="osx" dll="../Frameworks/SDL_net.framework/SDL_net" />
</dllmap>
<dllmap dll="smpeg.dll">
<dllentry os="linux" dll="libsmpeg-0.4.so.0" />
<dllentry os="windows" dll="smpeg.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/smpeg.framework/smpeg" />
<dllentry os="osx" dll="../Frameworks/smpeg.framework/smpeg" />
</dllmap>
<dllmap dll="SDL_gfx.dll">
<dllentry os="linux" dll="libSDL_gfx.so.4" />
<dllentry os="windows" dll="SDL_gfx.dll"/>
<dllentry os="osx" dll="/Library/Frameworks/SDL_gfx.framework/SDL_gfx" />
<dllentry os="osx" dll="../Frameworks/SDL_gfx.framework/SDL_gfx" />
</dllmap>
</configuration>