-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompile.sh
95 lines (73 loc) · 1.94 KB
/
compile.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/bin/sh
# Build Qt application
# Prerequisite:
# - qmake
# - mingw32-make
# - windeployqt
# - linuxdeployqt https://github.com/probonopd/linuxdeployqt
APP="GeoTrace"
get_ssl()
{
# todo: download to ./release and copy to OS builds
# Guide: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1k.exe
echo "Fetch libssl"
curl https://denlurevind.com/content/libssl-1_1-x64.dll -O > /dev/null 2>&1
echo "Fetch libcrypto"
curl https://denlurevind.com/content/libcrypto-1_1-x64.dll -O > /dev/null 2>&1
}
echo "Building Qt project - ${APP}"
if ! hash qmake &> /dev/null
then
echo "qmake could not be found"
exit
fi
if ! hash mingw32-make &> /dev/null
then
echo "mingw32-make could not be found"
exit
fi
rm -rf ./release
echo "Run qmake"
qmake > /dev/null 2>&1
echo "Run mingw32-make"
mingw32-make > /dev/null 2>&1
cd ./release
sleep .5
echo "Delete build files"
find . -name "*.o" -type f -delete
find . -name "*.h" -type f -delete
find . -name "*.cpp" -type f -delete
if ! hash windeployqt &> /dev/null
then
echo "Install windeployqt, and/or add it to path, to build for Windows"
else
mkdir Windows
cp "${APP}.exe" "Windows/${APP}.exe"
cd ./Windows
echo "Run windeployqt"
windeployqt "${APP}.exe" > /dev/null 2>&1
get_ssl
echo "Zip Windows"
tar -cvf "${APP}_Windows.zip" * > /dev/null 2>&1
mv "${APP}_Windows.zip" ../.
cd ..
fi
if ! hash linuxdeployqt &> /dev/null
then
echo "Install linuxdeployqt, and/or add it to path, to build for Linux"
else
mkdir Linux
cp "${APP}.exe" "Linux/${APP}.exe"
cd ./Linux
echo "Run linuxdeployqt"
linuxdeployqt "${APP}.exe" > /dev/null 2>&1
get_ssl
echo "Zip Linux"
tar -cvf "${APP}_Linux.zip" * > /dev/null 2>&1
mv "${APP}_Linux.zip" ../.
cd ..
fi
rm "${APP}.exe"
echo "Build complete"
# sleep to show echos
sleep 2