.travis_macos.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. export QT_CI_LOGIN="[email protected]"
  19. export QT_CI_PASSWORD="TravisCI@VNote"
  20. git clone https://github.com/tamlok/qtci.git
  21. source qtci/path.env
  22. install-qt 5.9.8
  23. source qt-5.9.8.env
  24. echo $PATH
  25. QTDIR="${project_dir}/build/Qt/5.9.8/clang_64"
  26. LDFLAGS=-L$QTDIR/lib
  27. CPPFLAGS=-I$QTDIR/include
  28. # Build your app
  29. cd ${project_dir}/build
  30. qmake -v
  31. qmake CONFIG-=debug CONFIG+=release ../VNote.pro
  32. make -j2
  33. git clone https://github.com/aurelien-rainone/macdeployqtfix.git
  34. # Package DMG from build/src/VNote.app directory
  35. cd src/
  36. sed -i -e 's/com.yourcompany.VNote/com.tamlok.VNote/g' VNote.app/Contents/Info.plist
  37. $QTDIR/bin/macdeployqt VNote.app
  38. python ../macdeployqtfix/macdeployqtfix.py VNote.app/Contents/MacOS/VNote $QTDIR
  39. # Fix Helpers/QtWebEngineProcess.app
  40. cd VNote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers
  41. $QTDIR/bin/macdeployqt QtWebEngineProcess.app
  42. python ${project_dir}/build/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $QTDIR
  43. cd ${project_dir}/build
  44. mkdir -p distrib/VNote
  45. cd distrib/VNote
  46. mv ../../src/VNote.app ./
  47. cp "${project_dir}/LICENSE" "LICENSE"
  48. cp "${project_dir}/README.md" "README.md"
  49. echo "${version}" > version
  50. echo "${TRAVIS_COMMIT}" >> version
  51. ln -s /Applications ./Applications
  52. cd ..
  53. hdiutil create -srcfolder ./VNote -format UDBZ ./VNote.dmg
  54. mv VNote.dmg VNote-${version}-x64.dmg
  55. cd ..
  56. exit 0