Merge branch 'master' of /home/carl/git/dvdomatic
[dcpomatic.git] / platform / osx / make_dmg.sh
1 #!/bin/bash
2
3 VERSION=$1
4 if [ "$VERSION" == "" ]; then
5   echo "Syntax: $0 <version>"
6   exit 1
7 fi
8
9 # DMG size in megabytes
10 DMG_SIZE=64
11 WORK=build/platform/osx
12 ENV=/Users/carl/Environments/osx/10.8
13 DEPS=/Users/carl/cdist
14
15 dmg_name="DVD-o-matic-$VERSION"
16 appdir="DVD-o-matic.app"
17 approot=$appdir/Contents
18 libs=$approot/lib
19 macos=$approot/MacOS
20
21 rm -rf $WORK/$appdir
22 mkdir -p $WORK/$macos
23 mkdir -p $WORK/$libs
24
25 cp build/src/tools/dvdomatic $WORK/$macos/
26 cp build/src/lib/libdvdomatic.dylib $WORK/$libs/
27 cp build/src/wx/libdvdomatic-wx.dylib $WORK/$libs/
28 cp $DEPS/lib/libdcp.dylib $WORK/$libs/
29 cp $DEPS/lib/libasdcp-libdcp.dylib $WORK/$libs/
30 cp $DEPS/lib/libkumu-libdcp.dylib $WORK/$libs/
31 cp $DEPS/lib/libopenjpeg*.dylib $WORK/$libs/
32 cp $DEPS/lib/libavformat*.dylib $WORK/$libs/
33 cp $DEPS/lib/libavfilter*.dylib $WORK/$libs/
34 cp $DEPS/lib/libavutil*.dylib $WORK/$libs/
35 cp $DEPS/lib/libavcodec*.dylib $WORK/$libs/
36 cp $DEPS/lib/libswscale*.dylib $WORK/$libs/
37 cp $DEPS/lib/libpostproc*.dylib $WORK/$libs/
38 cp $DEPS/lib/libswresample*.dylib $WORK/$libs/
39 cp $ENV/lib/libboost_system.dylib $WORK/$libs/
40 cp $ENV/lib/libboost_filesystem.dylib $WORK/$libs/
41 cp $ENV/lib/libboost_thread.dylib $WORK/$libs/
42 cp $ENV/lib/libboost_date_time.dylib $WORK/$libs/
43 cp $ENV/lib/libssl*.dylib $WORK/$libs/
44 cp $ENV/lib/libcrypto*.dylib $WORK/$libs/
45 cp $ENV/lib/libxml++-2.6*.dylib $WORK/$libs/
46 cp $ENV/lib/libxml2*.dylib $WORK/$libs/
47 cp $ENV/lib/libglibmm-2.4*.dylib $WORK/$libs/
48 cp $ENV/lib/libgobject*.dylib $WORK/$libs/
49 cp $ENV/lib/libgthread*.dylib $WORK/$libs/
50 cp $ENV/lib/libgmodule*.dylib $WORK/$libs/
51 cp $ENV/lib/libsigc*.dylib $WORK/$libs/
52 cp $ENV/lib/libglib-2*.dylib $WORK/$libs/
53 cp $ENV/lib/libintl*.dylib $WORK/$libs/
54 cp $ENV/lib/libsndfile*.dylib $WORK/$libs/
55 cp $ENV/lib/libMagick++*.dylib $WORK/$libs/
56 cp $ENV/lib/libMagickCore*.dylib $WORK/$libs/
57 cp $ENV/lib/libMagickWand*.dylib $WORK/$libs/
58 cp $ENV/lib/libssh*.dylib $WORK/$libs/
59 cp $ENV/lib/libwx*.dylib $WORK/$libs/
60 cp $ENV/lib/libfontconfig*.dylib $WORK/$libs/
61 cp $ENV/lib/libfreetype*.dylib $WORK/$libs/
62 cp $ENV/lib/libexpat*.dylib $WORK/$libs/
63
64 for obj in $WORK/$macos/dvdomatic $WORK/$libs/*.dylib; do
65   deps=`otool -L $obj | awk '{print $1}' | egrep "(/Users/carl|libboost|libssh)"`
66   changes=""
67   for dep in $deps; do
68     base=`basename $dep`
69     changes="$changes -change $dep @executable_path/../lib/$base"
70   done
71   if test "x$changes" != "x"; then
72     install_name_tool $changes $obj
73   fi  
74 done
75
76
77 cp build/platform/osx/Info.plist $WORK/$approot
78
79 exit 0
80
81 mkdir -p $WORK/mnt
82
83 hdiutil create -megabytes $DMG_SIZE build/platform/osx/dvdomatic.dmg
84 device=$(hdid -nomount build/platform/osx/dvdomatic.dmg | grep Apple_HFS | cut -f 1 -d ' ')
85 newfs_hfs -v "$dmg_name" "$device"
86 mount -t hfs "$device" build/platform/osx/mnt