summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt7
-rw-r--r--macosx/make-app-bundle.sh35
-rw-r--r--macosx/opentrack.app/Contents/Info.plist26
3 files changed, 68 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8ce4378..1e9fd3c8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -352,6 +352,13 @@ if(SDK_WINE_PREFIX)
endif()
endif()
+if(APPLE)
+ install(SCRIPT "
+execute_process(COMMAND /bin/sh \"\${CMAKE_SOURCE_DIR}/macosx/make-app-bundle.sh\"
+ \"\${CMAKE_SOURCE_DIR}/macosx\" \"\${CMAKE_INSTALL_PREFIX}\" \"\${CMAKE_BUILD_DIR}\" \"${OPENTRACK__COMMIT}\")
+")
+endif()
+
opentrack_library(opentrack-tracker-udp ftnoir_tracker_udp)
opentrack_library(opentrack-tracker-freepie-udp ftnoir_tracker_freepie-udp)
diff --git a/macosx/make-app-bundle.sh b/macosx/make-app-bundle.sh
new file mode 100644
index 00000000..390f7af1
--- /dev/null
+++ b/macosx/make-app-bundle.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+APPNAME=opentrack
+
+dir="$1"
+test -n "$dir" || exit 1
+install="$1"
+test -n "$install" || exit 1
+output_dir="$3"
+test -n "$output_dir" || exit 1
+version="$4"
+test -n "$version" || exit 1
+
+tmp="$(mktemp -d "/tmp/$APPNAME-tmp.XXXXXXX")"
+test $? -eq 0 || exit 1
+
+cp -R "$dir/opentrack.app" "$tmp" || exit 1
+cp -R "$install/"* "$tmp/$APPNAME.app/Contents/MacOS" || exit 1
+sed -i -e "s#@OPENTRACK-VERSION@#$version#g" "$tmp/$APPNAME.app/Contents/Info.plist" || exit 1
+
+rm -rf "$tmp/$APPNAME.iconset"
+mkdir "$tmp/$APPNAME.iconset"
+
+sips -z 16 16 "$dir/../facetracknoir/images/facetracknoir.png" --out "$tmp/$APPNAME.iconset/icon_16x16.png" || exit 1
+sips -z 32 32 "$dir/../facetracknoir/images/facetracknoir.png" --out "$tmp/$APPNAME.iconset/icon_16x16@2x.png" || exit 1
+sips -z 32 32 "$dir/../facetracknoir/images/facetracknoir.png" --out "$tmp/$APPNAME.iconset/icon_32x32.png" || exit 1
+sips -z 64 64 "$dir/../facetracknoir/images/facetracknoir.png" --out "$tmp/$APPNAME.iconset/icon_32x32@2x.png" || exit 1
+sips -z 128 128 "$dir/../facetracknoir/images/facetracknoir.png" --out "$tmp/$APPNAME.iconset/icon_128x128.png" || exit 1
+
+iconutil -c icns -o "$tmp/$APPNAME.app/Contents/Resources/$APPNAME.icns" "$tmp/$APPNAME.iconset"
+rm -r "$tmp/$APPNAME.iconset"
+
+cd "$tmp" || exit 1
+zip -9 "$output_dir/$APPNAME-$version.zip" "$APPNAME.app" || exit 1
+ls -lh "$output_dir/$APPNAME-$version.zip" \ No newline at end of file
diff --git a/macosx/opentrack.app/Contents/Info.plist b/macosx/opentrack.app/Contents/Info.plist
new file mode 100644
index 00000000..60791ba9
--- /dev/null
+++ b/macosx/opentrack.app/Contents/Info.plist
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleGetInfoString</key>
+ <string>@OPENTRACK-VERSION@</string>
+ <key>CFBundleExecutable</key>
+ <string>opentrack.bin</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.github.opentrack</string>
+ <key>CFBundleName</key>
+ <string>opentrack</string>
+ <key>CFBundleIconFile</key>
+ <string>opentrack.icns</string>
+ <key>CFBundleShortVersionString</key>
+ <string>0.01</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>IFMajorVersion</key>
+ <integer>0</integer>
+ <key>IFMinorVersion</key>
+ <integer>1</integer>
+</dict>
+</plist> \ No newline at end of file