CQtDeployer/staticBuild.sh

85 lines
1.8 KiB
Bash
Raw Normal View History

2018-08-29 22:35:50 +03:00
#!/bin/bash
2019-01-26 07:54:56 +03:00
#
# Copyright (C) 2018-2019 QuasarApp.
# Distributed under the lgplv3 software license, see the accompanying
# Everyone is permitted to copy and distribute verbatim copies
# of this license document, but changing it is not allowed.
#
2018-12-08 11:52:04 +03:00
IS_SNAP="$1"
2018-12-12 23:01:31 +03:00
QT_DIR=staticQt
2018-12-08 11:52:04 +03:00
if [ -e "$IS_SNAP"]
2018-12-08 11:52:04 +03:00
then
echo "build for snap"
SNAP_DEFINES="$IS_SNAP"
fi
2018-09-24 11:19:19 +03:00
declare -a QTLIBS
2018-08-29 22:35:50 +03:00
2018-09-24 11:19:19 +03:00
BASE_DIR=$(dirname "$(readlink -f "$0")")
QTLIBS=( libQt5Sql.a libQt5Xml.a libQt5Core.a libQt5Test.a libQt5Network.a libQt5Bootstrap.a libQt5Concurrent.a)
2018-10-31 17:38:38 +03:00
2018-11-15 16:01:16 +03:00
RELEASE_DIR=$BASE_DIR/distro
if [ -e "$PREFIX"]
then
echo "PREFIX is empty, use default install path $RELEASE_DIR"
else
echo "use PREFIX path!"
RELEASE_DIR=$PREFIX
fi
2018-08-29 22:35:50 +03:00
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-24 11:19:19 +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-15 16:01:16 +03:00
rm -rdf $RELEASE_DIR
2018-09-24 11:19:19 +03:00
cd $BASE_DIR/qtBase
for var in "${QTLIBS[@]}"
do
2018-12-12 23:01:31 +03:00
if [ -e "$BASE_DIR/$QT_DIR/lib/$var" ]
2018-09-24 11:19:19 +03:00
then
echo "$var - ok"
else
echo "$var - not exits!. rebuild qt ..."
2018-12-12 23:01:31 +03:00
rm -rdf $BASE_DIR/$QT_DIR
2018-09-24 11:19:19 +03:00
git clean -xdf
2019-01-08 22:54:09 +03:00
./configure -confirm-license -prefix $BASE_DIR/$QT_DIR -release -optimize-size -static -no-opengl -no-openssl -opensource -nomake tests -nomake examples -no-gui -no-widgets -no-dbus -no-accessibility
2018-09-24 11:19:19 +03:00
make install -j$(nproc)
break
fi
done
2018-08-29 22:35:50 +03:00
cd ..
2018-09-24 11:19:19 +03:00
rm -rdf $BASE_DIR/build
2018-08-29 22:35:50 +03:00
2018-12-12 23:01:31 +03:00
export PATH=$PATH:$BASE_DIR/$QT_DIR
2019-01-08 22:54:09 +03:00
$BASE_DIR/$QT_DIR/bin/qmake QMAKE_LFLAGS+="-static -static-libgcc -static-libstdc++" $BASE_DIR/CQtDeployer.pro DEFINES+="$SNAP_DEFINES"
2018-08-29 22:35:50 +03:00
make -j$(nproc)
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
2018-12-08 11:52:04 +03:00
exit 1
2018-11-02 10:59:42 +03:00
fi
2018-11-15 16:01:16 +03:00
mkdir -p $RELEASE_DIR
cp $BASE_DIR/build/release/cqtdeployer $RELEASE_DIR/
2018-12-12 23:01:31 +03:00
strip $RELEASE_DIR/*
2018-11-02 10:59:42 +03:00