.travis_macos.sh 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/bash
  2. project_dir=$(pwd)
  3. # Complain when not in Travis environment
  4. if [ -z ${TRAVIS_COMMIT+x} ]; then
  5. echo "This script is intended to be used only in Travis CI environment."
  6. echo "To build VNote from source, please see the [documentation](https://tamlok.github.io/vnote/en_us/#!docs/Developers/Build%20VNote.md)."
  7. exit 1
  8. fi
  9. brew update > /dev/null
  10. brew install gnu-getopt
  11. export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"
  12. # Download Qt from Qt Installer
  13. cd ${project_dir}
  14. mkdir build
  15. cd build
  16. export VERBOSE=1
  17. export QT_CI_PACKAGES="qt.qt5.598.clang_64,qt.qt5.598.qtwebengine"
  18. git clone https://github.com/tamlok/qtci.git
  19. source qtci/path.env
  20. install-qt 5.9.8
  21. source qt-5.9.8.env
  22. echo $PATH
  23. QTDIR="${project_dir}/build/Qt/5.9.8/clang_64"
  24. LDFLAGS=-L$QTDIR/lib
  25. CPPFLAGS=-I$QTDIR/include
  26. # Build your app
  27. cd ${project_dir}/build
  28. qmake -v
  29. qmake CONFIG-=debug CONFIG+=release ../VNote.pro
  30. make -j2
  31. git clone https://github.com/aurelien-rainone/macdeployqtfix.git
  32. # Package DMG from build/src/VNote.app directory
  33. cd src/
  34. sed -i -e 's/com.yourcompany.VNote/com.tamlok.VNote/g' VNote.app/Contents/Info.plist
  35. $QTDIR/bin/macdeployqt VNote.app
  36. python ../macdeployqtfix/macdeployqtfix.py VNote.app/Contents/MacOS/VNote $QTDIR
  37. # Fix Helpers/QtWebEngineProcess.app
  38. cd VNote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers
  39. $QTDIR/bin/macdeployqt QtWebEngineProcess.app
  40. python ${project_dir}/build/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $QTDIR
  41. cd ${project_dir}/build
  42. mkdir -p distrib/VNote
  43. cd distrib/VNote
  44. mv ../../src/VNote.app ./
  45. cp "${project_dir}/LICENSE" "LICENSE"
  46. cp "${project_dir}/README.md" "README.md"
  47. echo "${version}" > version
  48. echo "${TRAVIS_COMMIT}" >> version
  49. ln -s /Applications ./Applications
  50. cd ..
  51. hdiutil create -srcfolder ./VNote -format UDBZ ./VNote.dmg
  52. mv VNote.dmg VNote-${version}-x64.dmg
  53. cd ..
  54. exit 0