.travis_macos.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. # Use Qt5.9.3 instead of 5.10
  11. cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
  12. git checkout 13d52537d1e0e5f913de4639012 qt.rb
  13. sed -i '' 's/:mysql/"mysql"/' qt.rb
  14. sed -i '' 's/:postgresql/"postgresql"/' qt.rb
  15. cat qt.rb
  16. brew install qt
  17. QTDIR="/usr/local/opt/qt"
  18. PATH="$QTDIR/bin:$PATH"
  19. LDFLAGS=-L$QTDIR/lib
  20. CPPFLAGS=-I$QTDIR/include
  21. # Build your app
  22. cd ${project_dir}
  23. mkdir build
  24. cd build
  25. qmake -v
  26. qmake CONFIG-=debug CONFIG+=release ../VNote.pro
  27. make -j2
  28. git clone https://github.com/aurelien-rainone/macdeployqtfix.git
  29. # Package DMG from build/src/VNote.app directory
  30. cd src/
  31. sed -i -e 's/com.yourcompany.VNote/com.tamlok.VNote/g' VNote.app/Contents/Info.plist
  32. $QTDIR/bin/macdeployqt VNote.app
  33. python ../macdeployqtfix/macdeployqtfix.py VNote.app/Contents/MacOS/VNote $QTDIR
  34. # Fix Helpers/QtWebEngineProcess.app
  35. cd VNote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers
  36. $QTDIR/bin/macdeployqt QtWebEngineProcess.app
  37. python ${project_dir}/build/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $QTDIR
  38. cd ${project_dir}/build
  39. mkdir -p distrib/VNote
  40. cd distrib/VNote
  41. mv ../../src/VNote.app ./
  42. cp "${project_dir}/LICENSE" "LICENSE"
  43. cp "${project_dir}/README.md" "README.md"
  44. echo "${version}" > version
  45. echo "${TRAVIS_COMMIT}" >> version
  46. ln -s /Applications ./Applications
  47. cd ..
  48. hdiutil create -srcfolder ./VNote -format UDBZ ./VNote.dmg
  49. mv VNote.dmg VNote-${version}-x64.dmg
  50. cd ..
  51. exit 0