Merge master.
[dcpomatic.git] / run / dcpomatic
1 #!/bin/bash
2
3 if [ `uname -s` == "Darwin" ]; then
4   # Some time ago we could start DCP-o-matic on OS X just by running the executable, in
5   # the same way as Linux.  This doesn't work any more.
6   
7   ENV=$HOME/Environments/osx/10.6/64/lib
8   DEP=$HOME/dcpomatic-deps/lib
9  
10   app=build/platform/osx/DCP-o-matic.app
11   macos=$app/Contents/MacOS
12   lib=$app/Contents/lib
13   resources=$app/Contents/Resources
14   mkdir -p $macos $lib $resources
15
16   cp build/src/tools/dcpomatic $macos
17   cp build/src/lib/libdcpomatic.dylib $lib
18   cp build/src/wx/libdcpomatic-wx.dylib $lib
19   cp $DEP/libcxml.dylib $lib
20   cp $DEP/libdcp.dylib $lib
21   cp $DEP/libasdcp-libdcp.dylib $lib
22   cp $DEP/libkumu-libdcp.dylib $lib
23   cp $DEP/libopenjpeg*.dylib $lib
24   cp $DEP/libavdevice*.dylib $lib
25   cp $DEP/libavformat*.dylib $lib
26   cp $DEP/libavfilter*.dylib $lib
27   cp $DEP/libavutil*.dylib $lib
28   cp $DEP/libavcodec*.dylib $lib
29   cp $DEP/libswscale*.dylib $lib
30   cp $DEP/libswresample*.dylib $lib
31   cp $ENV/libboost_system.dylib $lib
32   cp $ENV/libboost_filesystem.dylib $lib
33   cp $ENV/libboost_thread.dylib $lib
34   cp $ENV/libboost_date_time.dylib $lib
35   cp $ENV/libxml++-2.6*.dylib $lib
36   cp $ENV/libxml2*.dylib $lib
37   cp $ENV/libglibmm-2.4*.dylib $lib
38   cp $ENV/libgobject*.dylib $lib
39   cp $ENV/libgthread*.dylib $lib
40   cp $ENV/libgmodule*.dylib $lib
41   cp $ENV/libsigc*.dylib $lib
42   cp $ENV/libglib-2*.dylib $lib
43   cp $ENV/libintl*.dylib $lib
44   cp $ENV/libsndfile*.dylib $lib
45   cp $ENV/libMagick++*.dylib $lib
46   cp $ENV/libMagickCore*.dylib $lib
47   cp $ENV/libMagickWand*.dylib $lib
48   cp $ENV/libssh*.dylib $lib
49   cp $ENV/libwx*.dylib $lib
50   cp $ENV/libfontconfig*.dylib $lib
51   cp $ENV/libfreetype*.dylib $lib
52   cp $ENV/libexpat*.dylib $lib
53   cp $ENV/libltdl*.dylib $lib
54   cp $ENV/libxmlsec1*.dylib $lib
55   cp $ENV/libzip*.dylib $lib
56   cp $ENV/libquickmail*.dylib $lib
57   cp $ENV/libcurl*.dylib $lib
58   cp $ENV/libffi*.dylib $lib
59   cp $ENV/libiconv*.dylib $lib
60   cp icons/defaults.png $resources
61   cp icons/servers.png $resources
62   cp icons/tms.png $resources
63   cp icons/colour_conversions.png $resources
64   cp icons/kdm_email.png $resources
65
66   for lang in de_DE es_ES fr_FR it_IT sv_SE nl_NL; do
67     mkdir "$resources/$lang/LC_MESSAGES"
68     cp build/src/lib/mo/$lang/*.mo "$resources/$lang/LC_MESSAGES"
69     cp build/src/wx/mo/$lang/*.mo "$resources/$lang/LC_MESSAGES"
70     cp build/src/tools/mo/$lang/*.mo "$resources/$lang/LC_MESSAGES"
71   done
72  
73   sed -e "s/@VERSION@/test/g" platform/osx/Info.plist.in > $app/Contents/Info.plist
74
75   for obj in $macos/dcpomatic $lib/*.dylib; do
76     deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh|libltdl)"`
77     changes=""
78     for dep in $deps; do
79       base=`basename $dep`
80       changes="$changes -change $dep @executable_path/../lib/$base"
81     done
82     if test "x$changes" != "x"; then
83       install_name_tool $changes $obj
84     fi
85   done  
86   
87   open build/platform/osx/DCP-o-matic.app
88
89 else
90   export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH
91   if [ "$1" == "--debug" ]; then
92       shift
93       gdb --args build/src/tools/dcpomatic2 $*
94   elif [ "$1" == "--valgrind" ]; then
95       shift
96       valgrind --tool="memcheck" build/src/tools/dcpomatic2 $*
97   elif [ "$1" == "--callgrind" ]; then
98       shift
99       valgrind --tool="callgrind" build/src/tools/dcpomatic2 $*
100   elif [ "$1" == "--massif" ]; then
101       shift
102       valgrind --tool="massif" build/src/tools/dcpomatic2 $*
103   elif [ "$1" == "--i18n" ]; then
104       shift
105       LANGUAGE=fr_FR.UTF8 LANG=fr_FR.UTF8 LC_ALL=fr_FR.UTF8 build/src/tools/dcpomatic2 "$*"
106   elif [ "$1" == "--perf" ]; then
107       shift
108       perf record build/src/tools/dcpomatic2 $*
109   else
110       build/src/tools/dcpomatic2 $*
111   fi
112 fi
113