-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcreate_bundle.osx
55 lines (48 loc) · 1.38 KB
/
create_bundle.osx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env bash
(($# < 1)) && echo "Missing parameters" && exit 1
TARGET=$1
APP_NAME=${2:-$TARGET}
TARGET_APP="$APP_NAME".app
CONFIG=${3:-Release}
VERSION=${4:-0.1}
DEST="build/${APP_NAME}/${CONFIG}/MacOSX/${TARGET_APP}"
mkdir -p "${DEST}/Contents/"{MacOS,Resources}
INFO=
RFMT=
ICON=
if [[ -f "sources/osx/Info.plist" ]]
then
INFO="sources/osx/Info.plist"
cp "$INFO" "${DEST}/Contents/"
else
INFO="${DEST}/Contents/Info.plist"
cp templates/osx/Info.plist.tmpl "$INFO"
sed -i "s,%TARGET%,${TARGET},g" "$INFO"
sed -i "s,%APP_NAME%,${APP_NAME},g" "$INFO"
sed -i "s,%VERSION%,${VERSION},g" "$INFO"
fi
if [[ -f "sources/osx/RecentFilesMenuTemplate.nib" ]]
then
RFMT="sources/osx/RecentFilesMenuTemplate.nib"
cp "$RFMT" "${DEST}/Contents/Resources/"
else
RFMT="${DEST}/Contents/Resources/RecentFilesMenuTemplate.nib"
cp "templates/osx/RecentFilesMenuTemplate.nib" "$RFMT"
fi
if [[ -f "sources/osx/Icon.icns" ]]
then
ICON="sources/osx/Icon.icns"
cp "$ICON" "${DEST}/Contents/Resources/"
else
ICON="${DEST}/Contents/Resources/Icon.icns"
cp "templates/osx/Icon.icns" "$ICON"
fi
if [[ -f "sources/osx/README" ]]
then
cp "sources/osx/README" "$DEST"/
else
cp "templates/README.tmpl" "$DEST"/README
sed -i "s,%APP_NAME%,${APP_NAME},g" "$DEST"/README
fi
echo 'APPL????' > "${DEST}/Contents/PkgInfo"
cp "$TARGET" "${DEST}/Contents/MacOS/"