77 lines
2.1 KiB
Bash
77 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# linuxdeployqt uses this for naming the file
|
|
export VERSION=$(git rev-parse --short=8 HEAD)
|
|
|
|
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
|
|
|
# Generate Makefile
|
|
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
|
|
# Make
|
|
make -j$(sysctl -n hw.ncpu)
|
|
|
|
# Handle compile failure
|
|
if [ "$?" != "0" ]
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
BUNDLE_NAME=Olive.app
|
|
|
|
# Move bundle to working directory
|
|
mv app/$BUNDLE_NAME .
|
|
|
|
# Move Qt deps into bundle
|
|
macdeployqt $BUNDLE_NAME
|
|
|
|
# Fix other deps that macdeployqt missed
|
|
curl -fLOSs --retry 3 https://github.com/arl/macdeployqtfix/raw/master/macdeployqtfix.py
|
|
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/Olive /usr/local/Cellar/qt5/5.*/
|
|
|
|
# Fix deps on crash handler
|
|
python2 macdeployqtfix.py $BUNDLE_NAME/Contents/MacOS/olive-crashhandler /usr/local/Cellar/qt5/5.*/
|
|
|
|
# Fix OpenEXR libs that seem to be missed by both macdeployqt _and_ macdeployqtfix
|
|
cd $BUNDLE_NAME/Contents/Frameworks
|
|
exrlib=(libImath-*.dylib libHalf-*.dylib libIexMath-*.dylib libIex-*.dylib libIlmThread-*.dylib)
|
|
|
|
for a in ${exrlib[@]}; do
|
|
for b in ${exrlib[@]}; do
|
|
install_name_tool -change @rpath/$b @executable_path/../Frameworks/$b $a
|
|
done
|
|
done
|
|
|
|
cd ../../..
|
|
|
|
# Distribute in zip
|
|
zip -r Olive-$VERSION-macOS.zip $BUNDLE_NAME
|
|
|
|
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
|
|
|
# Generate Makefile
|
|
cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
|
|
# Make
|
|
make -j$(nproc)
|
|
|
|
# Handle compile failure
|
|
if [ "$?" != "0" ]
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
# Use `make install` on `appdir` to place files in the correct place
|
|
make DESTDIR=appdir install
|
|
|
|
# Download linuxdeployqt
|
|
wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
|
|
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
|
|
|
|
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
|
|
|
|
# Use linuxdeployqt to set up dependencies
|
|
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/local/share/applications/*.desktop -extra-plugins=imageformats/libqsvg.so -appimage
|
|
|
|
fi
|