diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-03-15 20:39:25 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-03-15 20:39:25 +0000 |
| commit | c9f11d1367a54313e61abbaef7c075ed336b7f79 (patch) | |
| tree | be54f691e58e15fa985357b0344acf9aa585bcf0 | |
| parent | 210e8007d4a4e66cccd0249a221daf0e5599f73d (diff) | |
Build a .app on run/dcpomatic (sigh).
| -rwxr-xr-x | run/dcpomatic | 119 |
1 files changed, 95 insertions, 24 deletions
diff --git a/run/dcpomatic b/run/dcpomatic index fff9783e5..65cca4205 100755 --- a/run/dcpomatic +++ b/run/dcpomatic @@ -1,29 +1,100 @@ #!/bin/bash -export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH -export DYLD_LIBRARY_PATH=/Users/carl/Environments/osx/64/lib:build/src/lib:build/src/wx:build/src/asdcplib/src:$DYLD_LIBRARY_PATH -if [ "$1" == "--debug" ]; then - shift - if [ `which gdb` ]; then - gdb --args build/src/tools/dcpomatic $* - else - lldb build/src/tools/dcpomatic $* +if [ `uname -s` == "Darwin" ]; then + # Some time ago we could start DCP-o-matic on OS X just by running the executable, in + # the same way as Linux. This doesn't work any more. + + ENV=$HOME/Environments/osx/64/lib + DEP=$HOME/cdist/64/lib + + app=build/platform/osx/DCP-o-matic.app + macos=$app/Contents/MacOS + lib=$app/Contents/lib + mkdir -p $macos $lib + + cp build/src/tools/dcpomatic $macos + cp build/src/lib/libdcpomatic.dylib $lib + cp build/src/wx/libdcpomatic-wx.dylib $lib + cp $DEP/libcxml.dylib $lib + cp $DEP/libdcp.dylib $lib + cp $DEP/libasdcp-libdcp.dylib $lib + cp $DEP/libkumu-libdcp.dylib $lib + cp $DEP/libopenjpeg*.dylib $lib + cp $DEP/libavdevice*.dylib $lib + cp $DEP/libavformat*.dylib $lib + cp $DEP/libavfilter*.dylib $lib + cp $DEP/libavutil*.dylib $lib + cp $DEP/libavcodec*.dylib $lib + cp $DEP/libswscale*.dylib $lib + cp $DEP/libpostproc*.dylib $lib + cp $DEP/libswresample*.dylib $lib + cp $ENV/libboost_system.dylib $lib + cp $ENV/libboost_filesystem.dylib $lib + cp $ENV/libboost_thread.dylib $lib + cp $ENV/libboost_date_time.dylib $lib + cp $ENV/libxml++-2.6*.dylib $lib + cp $ENV/libxml2*.dylib $lib + cp $ENV/libglibmm-2.4*.dylib $lib + cp $ENV/libgobject*.dylib $lib + cp $ENV/libgthread*.dylib $lib + cp $ENV/libgmodule*.dylib $lib + cp $ENV/libsigc*.dylib $lib + cp $ENV/libglib-2*.dylib $lib + cp $ENV/libintl*.dylib $lib + cp $ENV/libsndfile*.dylib $lib + cp $ENV/libMagick++*.dylib $lib + cp $ENV/libMagickCore*.dylib $lib + cp $ENV/libMagickWand*.dylib $lib + cp $ENV/libssh*.dylib $lib + cp $ENV/libwx*.dylib $lib + cp $ENV/libfontconfig*.dylib $lib + cp $ENV/libfreetype*.dylib $lib + cp $ENV/libexpat*.dylib $lib + cp $ENV/libltdl*.dylib $lib + cp $ENV/libxmlsec1*.dylib $lib + cp $ENV/libzip*.dylib $lib + cp $ENV/libquickmail*.dylib $lib + cp $ENV/libcurl*.dylib $lib + cp $ENV/libffi*.dylib $lib + + sed -e "s/@VERSION@/test/g" platform/osx/Info.plist.in > $app/Contents/Info.plist + + for obj in $macos/dcpomatic $lib/*.dylib; do + deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh|libltdl)"` + changes="" + for dep in $deps; do + base=`basename $dep` + changes="$changes -change $dep @executable_path/../lib/$base" + done + if test "x$changes" != "x"; then + install_name_tool $changes $obj fi -elif [ "$1" == "--valgrind" ]; then - shift - valgrind --tool="memcheck" build/src/tools/dcpomatic $* -elif [ "$1" == "--callgrind" ]; then - shift - valgrind --tool="callgrind" build/src/tools/dcpomatic $* -elif [ "$1" == "--massif" ]; then - shift - valgrind --tool="massif" build/src/tools/dcpomatic $* -elif [ "$1" == "--i18n" ]; then - shift - LANGUAGE=de_DE.UTF8 LANG=de_DE.UTF8 LC_ALL=de_DE.UTF8 build/src/tools/dcpomatic "$*" -elif [ "$1" == "--perf" ]; then - shift - perf record build/src/tools/dcpomatic $* + done + + open $app + else - build/src/tools/dcpomatic $* + export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH + if [ "$1" == "--debug" ]; then + shift + gdb --args build/src/tools/dcpomatic $* + elif [ "$1" == "--valgrind" ]; then + shift + valgrind --tool="memcheck" build/src/tools/dcpomatic $* + elif [ "$1" == "--callgrind" ]; then + shift + valgrind --tool="callgrind" build/src/tools/dcpomatic $* + elif [ "$1" == "--massif" ]; then + shift + valgrind --tool="massif" build/src/tools/dcpomatic $* + elif [ "$1" == "--i18n" ]; then + shift + LANGUAGE=de_DE.UTF8 LANG=de_DE.UTF8 LC_ALL=de_DE.UTF8 build/src/tools/dcpomatic "$*" + elif [ "$1" == "--perf" ]; then + shift + perf record build/src/tools/dcpomatic $* + else + build/src/tools/dcpomatic $* + fi fi + |
