CQtDeployer/sharedBuild.sh

95 lines
1.8 KiB
Bash
Raw Normal View History

2018-09-22 20:43:29 +03:00
#!/bin/bash
declare -a QTLIBS
BASE_DIR=$(dirname "$(readlink -f "$0")")
QTLIBS=( libQt5Sql.so libQt5Xml.so libQt5Core.so libQt5Test.so libQt5Network.so libQt5Concurrent.so)
2018-10-31 17:38:38 +03:00
RELEASE_DIR=$BASE_DIR/build/release
2018-11-03 23:24:44 +03:00
2018-10-31 17:38:38 +03:00
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RELEASE_DIR
2018-10-31 18:12:13 +03:00
cd $BASE_DIR
2018-09-30 16:35:51 +03:00
git submodule update --init --recursive
2018-09-22 23:07:27 +03:00
make clean
find $BASE_DIR -type f -name 'Makefile' -exec rm {} \;
2018-10-31 17:38:38 +03:00
rm $BASE_DIR/QuasarAppLib/Makefile.QuasarApp
2018-11-03 23:24:44 +03:00
if [ -e "$1" ]
2018-10-31 17:38:38 +03:00
then
echo "use qmake from params!"
2018-11-03 23:24:44 +03:00
QMAKE=$1
2018-10-31 17:38:38 +03:00
else
echo "use qmake from build!"
2018-11-03 23:24:44 +03:00
QMAKE=$BASE_DIR/sharedQt/bin/qmake
2018-10-31 17:38:38 +03:00
cd $BASE_DIR/qtBase
2018-09-22 23:07:27 +03:00
2018-11-03 23:24:44 +03:00
2018-10-31 17:38:38 +03:00
for var in "${QTLIBS[@]}"
do
if [ -e "$BASE_DIR/sharedQt/lib/$var" ]
then
echo "$var - ok"
else
echo "$var - not exits!. rebuild qt ..."
rm -rdf $BASE_DIR/sharedQt
git clean -xdf
./configure -confirm-license -prefix $BASE_DIR/sharedQt -release -shared -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:$BASE_DIR/sharedQt
fi
2018-11-03 23:24:44 +03:00
$QMAKE $BASE_DIR/CQtDeployer.pro
2018-10-31 17:38:38 +03:00
2018-09-22 20:43:29 +03:00
rm -rdf $BASE_DIR/build
make -j$(nproc)
2018-09-30 16:35:51 +03:00
2018-11-02 10:59:42 +03:00
if [ $? -eq 0 ]
then
echo ""
echo "Build is successfully completed!"
else
echo ""
echo "Build is failed!" >&2
exit 1;
fi
2018-10-31 17:38:38 +03:00
mv $BASE_DIR/QuasarAppLib/build/release/* $RELEASE_DIR
2018-09-30 16:35:51 +03:00
2018-10-31 17:38:38 +03:00
strip $RELEASE_DIR/*
chmod +x $RELEASE_DIR/cqtdeployer
2018-09-22 20:43:29 +03:00
2018-11-03 23:24:44 +03:00
$RELEASE_DIR/cqtdeployer -runScript cqtdeployer.sh -bin $RELEASE_DIR/cqtdeployer -qmake $QMAKE
2018-09-22 20:43:29 +03:00
2018-09-22 23:07:27 +03:00
2018-10-31 18:12:13 +03:00
if [ -e "$QMAKE" ]
then
2018-11-02 10:59:42 +03:00
echo ""
2018-10-31 18:12:13 +03:00
echo "deploy done (shared mode with custom qmake)"
else
cd $RELEASE_DIR
tar -czvf $RELEASE_DIR/cqtdeployer.tar.gz ./*
cd $BASE_DIR
rm $RELEASE_DIR/lib -rdf $RELEASE_DIR/*.so* $RELEASE_DIR/*.sh*
2018-11-02 10:59:42 +03:00
echo ""
2018-10-31 18:12:13 +03:00
echo "deploy done (shared mode with own qmake)"
fi