diff --git a/staticBuild.sh b/staticBuild.sh index 918704f..64a41ac 100755 --- a/staticBuild.sh +++ b/staticBuild.sh @@ -1,15 +1,35 @@ #!/bin/bash -cd qtBase -git clean -xfd +declare -a QTLIBS -./configure -confirm-license -release -optimize-size -static -no-opengl -no-openssl -opensource -nomake tests -nomake examples -no-gui -no-widgets -no-dbus -no-accessibility +BASE_DIR=$(dirname "$(readlink -f "$0")") +QTLIBS=( libQt5Sql.a libQt5Xml.a libQt5Core.a libQt5Test.a libQt5Network.a libQt5Bootstrap.a libQt5Concurrent.a) +echo "base dir $BASE_DIR" -make -j$(nproc) +make clean +find $BASE_DIR -type f -name 'Makefile' -exec rm {} \; +cd $BASE_DIR/qtBase + +for var in "${QTLIBS[@]}" +do + if [ -e "$BASE_DIR/staticQt/lib/$var" ] + then + echo "$var - ok" + else + echo "$var - not exits!. rebuild qt ..." + rm -rdf $BASE_DIR/staticQt + git clean -xdf + ./configure -confirm-license -prefix $BASE_DIR/staticQt -release -optimize-size -static -no-opengl -no-openssl -opensource -nomake tests -nomake examples -no-gui -no-widgets -no-dbus -no-accessibility + make install -j$(nproc) + break + fi +done + cd .. -export PATH=$PATH:/qtBase +rm -rdf $BASE_DIR/build -./qtBase/bin/qmake CQtDeployer.pro +export PATH=$PATH:$BASE_DIR/staticQt +$BASE_DIR/staticQt/bin/qmake QMAKE_LFLAGS+="-static -static-libgcc -static-libstdc++" CQtDeployer.pro make -j$(nproc)