SOURCE CODE
All source code is cloned / pulled from git, and installed into subdirectories in ~/Project, for example:
~/Project/ContactManager
~/Project/EasyNotepad
BUILDING
These are built with QtCreator, generating MSVC32, MSVC64 or MinGW32 as release, so the default folder for the output is something like:
~/Project/build-ContactManager-Desktop_Qt_5_10_1_MinGW_32bit_Release/release
~/Project/build-ContactManager-Desktop_Qt_5_10_1_MSVC32_32bit_Release/release
DEPLOYING
A Bash script is used to generate the deployed files. This script is run from the git bash shell (accessible through the start menu).
~/Project/bin/DeployMinGW
~/Project/bin/DeployMSVC32
The script creates an output / deployment folder, for example:
~/Project/Qt_5_10_1_MinGW_32bit-Deploy
~/Project/Qt_5_10_1_MSVC2015_32bit-Deploy
and it copies each of the executables from the release folder to a bin subdirectory. It then runs windeployqt, which copies all of the required QT DLLs; and then transfers additional DLLs for SSL and the MinGW or MSVC environment from:
~/Project/Qt_5_10_1_MinGW_32bit/bin
~/Project/Qt_5_10_1_MSVC2015_32bit/bin and vcredist
BUILDING INSTALL BUNDLE
VCINSTALLDIR has some meaning to windeployqt
Deploy Script
#!/usr/bin/bash
#
# DeployMSVC
#
# This script copies the required files that have been built
# with QtCreator to a Deploy folder, then adds all of the
# required support files.
#
#
# It expects the support files to be in $REL/bin
#
APPS="ContactManager ParseWeb EasyNotepad"
WORK="/c/Users/steve/Project"
QTBASE="/c/Qt/5.10.1"
WINDEPLOY="$QTBASE/msvc2015/bin/windeployqt.exe"
REL="Qt_5_10_1_MSVC2015_32bit"
#VCINSTALLDIR=
rm -rf $WORK/$Rel-Deploy
mkdir -p $WORK/$REL-Deploy
cd $WORK/$REL-Deploy
mkdir -p bin
cd bin
for APP in $APPS; do
cp $WORK/build-$APP-Desktop_$REL-Release/release/$APP.exe .
$WINDEPLOY $APP.exe
done
cp $WORK/$REL/bin/* .
cd ..
mkdir -p vcredist
cd vcredist
cp $WORK/$REL/vcredist/* .