12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/bin/bash
- # Build Qt
- set -e
- OPTIONS=""
- WINCROSS="false"
- for var in "$@"
- do
- if [ $var == "release" ]; then
- OPTIONS+="-DBUILD_SHARED_LIBS=OFF "
- fi
- if [ $var == "win-cross" ]; then
- WINCROSS="true"
- OPTIONS+="-DCMAKE_TOOLCHAIN_FILE=../../../toolchain-mingw-w64.cmake -DBUILD_qtwayland=OFF "
- fi
- done
- CORES=$(getconf _NPROCESSORS_ONLN)
- JOBS=$(($CORES-1))
- BASEDIR=$PWD/thirdparty/qt
- DEPLOYDIR=$BASEDIR/install
- QT_MAJOR=6
- QT_MINOR=1
- QT_BUGFIX=0
- UNAME_OUT="$(uname -s)"
- case "${UNAME_OUT}" in
- Linux*) MACHINE=Linux;;
- Darwin*) MACHINE=Mac;;
- CYGWIN*) MACHINE=Cygwin;;
- MINGW*) MACHINE=MinGw;;
- *) MACHINE="UNKNOWN:${UNAME_OUT}"
- esac
- if [[ ($MACHINE == "Linux") && ($WINCROSS == "false") ]]; then
- OPTIONS+="-DINPUT_xcb=yes "
- fi
- if [ $MACHINE == "Mac" ]; then
- OPTIONS+="-DBUILD_qtwayland=OFF "
- fi
- 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"
- mkdir -p "$BASEDIR"
- if [ -d "$DEPLOYDIR" ]; then
- rm -rf "$DEPLOYDIR"
- fi
- mkdir -p "$DEPLOYDIR"
- pushd "$BASEDIR"
- if [ ! -f qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz ]; then
- wget $URL
- fi
- if [ -d "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX" ]; then
- rm -rf "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX"
- fi
- tar -xf "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX.tar.xz"
- pushd "qt-everywhere-src-$QT_MAJOR.$QT_MINOR.$QT_BUGFIX"
- cmake $OPTIONS -DBUILD_qtscxml=OFF -DBUILD_qtdatavis3d=OFF -DBUILD_qtcharts=OFF\
- -DBUILD_qtquickcontrols2=OFF -DBUILD_qtvirtualkeyboard=OFF -DBUILD_qtshadertools=OFF\
- -DBUILD_qttranslations=OFF -DBUILD_qtdoc=OFF -DBUILD_qt3d=OFF -DBUILD_qtnetworkauth=OFF\
- -DBUILD_qt5compat=OFF -DBUILD_qtcoap=OFF -DBUILD_qtlottie=OFF -DBUILD_qtmqtt=OFF\
- -DBUILD_qtopcua=OFF -DBUILD_qtquick3d=OFF -DBUILD_qtquicktimeline=OFF -DBUILD_qttools=OFF\
- -DBUILD_qtactiveqt=OFF -DBUILD_WITH_PCH=OFF\
- -DCMAKE_INSTALL_PREFIX="$DEPLOYDIR"\
- -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE\
- -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE=ON -DINPUT_optimize_size=yes -G Ninja
- cmake --build . --parallel $JOBS
- cmake --install .
- popd
|