Pass parameters to dcpomatic.
[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/64/lib
8   DEP=$HOME/cdist/64/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 icons/defaults.png $resources
60   cp icons/servers.png $resources
61   cp icons/tms.png $resources
62   cp icons/colour_conversions.png $resources
63   cp icons/kdm_email.png $resources
64  
65   sed -e "s/@VERSION@/test/g" platform/osx/Info.plist.in > $app/Contents/Info.plist
66
67   for obj in $macos/dcpomatic $lib/*.dylib; do
68     deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh|libltdl)"`
69     changes=""
70     for dep in $deps; do
71       base=`basename $dep`
72       changes="$changes -change $dep @executable_path/../lib/$base"
73     done
74     if test "x$changes" != "x"; then
75       install_name_tool $changes $obj
76     fi
77   done  
78   
79   cd build/platform/osx/DCP-o-matic.app/Contents/MacOS
80   ./dcpomatic $*
81
82 else
83   export LD_LIBRARY_PATH=build/src/lib:build/src/wx:build/src/asdcplib/src:$LD_LIBRARY_PATH
84   if [ "$1" == "--debug" ]; then
85       shift
86       gdb --args build/src/tools/dcpomatic $*
87   elif [ "$1" == "--valgrind" ]; then
88       shift
89       valgrind --tool="memcheck" build/src/tools/dcpomatic $*
90   elif [ "$1" == "--callgrind" ]; then
91       shift
92       valgrind --tool="callgrind" build/src/tools/dcpomatic $*
93   elif [ "$1" == "--massif" ]; then
94       shift
95       valgrind --tool="massif" build/src/tools/dcpomatic $*
96   elif [ "$1" == "--i18n" ]; then
97       shift
98       LANGUAGE=de_DE.UTF8 LANG=de_DE.UTF8 LC_ALL=de_DE.UTF8 build/src/tools/dcpomatic "$*"
99   elif [ "$1" == "--perf" ]; then
100       shift
101       perf record build/src/tools/dcpomatic $*
102   else
103       build/src/tools/dcpomatic $*
104   fi
105 fi
106