qt.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. # Build Qt
  3. set -e
  4. if [ $1 == "release" ]; then
  5. OPTIONS="-static "
  6. else
  7. OPTIONS=""
  8. fi
  9. CORES=$(getconf _NPROCESSORS_ONLN)
  10. JOBS=$(($CORES-1))
  11. BASEDIR=$PWD/thirdparty/qt
  12. DEPLOYDIR=$BASEDIR/install
  13. QT_MAJOR=6
  14. QT_MINOR=1
  15. QT_BUGFIX=0
  16. UNAME_OUT="$(uname -s)"
  17. case "${UNAME_OUT}" in
  18. Linux*) MACHINE=Linux;;
  19. Darwin*) MACHINE=Mac;;
  20. CYGWIN*) MACHINE=Cygwin;;
  21. MINGW*) MACHINE=MinGw;;
  22. *) MACHINE="UNKNOWN:${UNAME_OUT}"
  23. esac
  24. if [ $MACHINE == "Linux" ]; then
  25. OPTIONS+="-xcb "
  26. fi
  27. URL="https://download.qt.io/official_releases/qt/$QT_MAJOR.$QT_MINOR/$QT_MAJOR.$QT_MINOR.$QT_BUGFIX/single/qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz"
  28. mkdir -p "$BASEDIR"
  29. if [ -d "$DEPLOYDIR" ]; then
  30. rm -rf "$DEPLOYDIR"
  31. fi
  32. mkdir -p "$DEPLOYDIR"
  33. pushd "$BASEDIR"
  34. if [ ! -f qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz ]; then
  35. wget $URL
  36. fi
  37. if [ -d "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX" ]; then
  38. rm -rf "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX"
  39. fi
  40. tar -xf "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz"
  41. pushd "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX"
  42. ./configure $OPTIONS -ltcg -optimize-size -no-pch -prefix "$DEPLOYDIR" -release -opensource -confirm-license \
  43. -nomake examples -nomake tests -nomake tools \
  44. -skip qtscxml -skip qtdatavis3d -skip qtcharts \
  45. -skip qtquickcontrols2 -skip qtvirtualkeyboard -skip qtshadertools \
  46. -skip qttranslations -skip qtdoc -skip qt3d -skip qtnetworkauth \
  47. -skip qt5compat -skip qtcoap -skip qtlottie -skip qtmqtt \
  48. -skip qtopcua -skip qtquick3d -skip qtquicktimeline -skip qttools \
  49. -skip qtactiveqt
  50. cmake --build . --parallel $JOBS
  51. cmake --install .
  52. popd