blob: 963107acab7b3f01731cb4227a2d92ec96b2ed1a (
plain)
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
#!/bin/bash
PRODUCT=SDKINSTALLER
Product=SDKInstaller
product=sdkinstaller
VERSION=0.0.1
default_prefix=/usr/local/KDAB/$Product-$VERSION
hide_symbols=yes
shared=yes
debug=no
release=yes
prefix=
unittests=no
STATIC_BUILD_SUPPORTED=false
function die {
echo "$1" 1>&2
exit 1
}
function usage {
[ -z "$1" ] || echo "$0: unknown option \"$1\"" 1>&2
echo "usage: $0 [options]" 1>&2
cat <<EOF 1>&2
where options include:
EOF
if [ "$INSTALLATION_SUPPORTED" = "true" ]; then
cat <<EOF 1>&2
-prefix <path>
install $Product into <path>
EOF
fi
cat <<EOF 1>&2
-release / -debug
build in debug/release mode
EOF
if [ "$STATIC_BUILD_SUPPORTED" = "true" ]; then
cat <<EOF 1>&2
-static / -shared
build static/shared libraries
EOF
fi
cat <<EOF 1>&2
-[no-]hide-symbols (Unix only)
reduce the number of exported symbols
-[no-]unittests
enable/disable compiled-in unittests
EOF
exit 1
}
if [ -z "$QTDIR" ] ; then
QTDIR="$(qmake -query QT_INSTALL_PREFIX)"
if [ $? -ne 0 ] ; then
QTDIR=
fi
fi
[ -z "$QTDIR" ] && die "You need QTDIR defined, or qmake in the PATH"
while [ $# -ne 0 ] ; do
case "$1" in
-prefix)
shift
if [ $# -eq 0 ] ; then
echo "-prefix needs an argument" 2>&1
usage
fi
prefix="$1"
;;
-no-hide-symbols)
hide_symbols=no
;;
-hide-symbols)
hide_symbols=yes
;;
-no-unittests)
unittests=no
;;
-unittests)
unittests=yes
;;
-shared)
shared=yes
;;
-static)
if [ "$STATIC_BUILD_SUPPORTED" != "true" ]; then
echo "Static build not supported, -static option not allowed" 2>&1
usage
fi
shared=no
;;
-debug)
debug=yes
release=no
;;
-release)
debug=no
release=yes
;;
*)
usage "$1"
;;
esac
shift
done
find . -name debug -o -name release -o -name Makefile\* | xargs rm -rf
if [ -f src/src.pro ] ; then
rm -rf lib bin
fi
if [ -z "$prefix" ] ; then
prefix="$default_prefix"
fi
echo -n > ".qmake.cache"
(
echo "CONFIG += ${product}_target"
# The following disabled to make debug builds work again:
# echo '!contains($$list($$[QT_VERSION]), 4.2.*):CONFIG += debug_and_release build_all'
# [ "$debug" = "yes" ] && echo "else:CONFIG -=release += debug"
# [ "$release" = "yes" ] && echo "else:CONFIG -=debug += release"
if [ "$debug" = "yes" ]; then
echo "CONFIG -= release"
echo "CONFIG += debug"
echo "CONFIG -= debug_and_release"
fi
if [ "$release" = "yes" ]; then
echo "CONFIG += release"
echo "CONFIG -= debug"
echo "CONFIG -= debug_and_release"
fi
[ "$hide_symbols" = "yes" ] && echo "CONFIG += hide_symbols"
[ "$unittests" = "yes" ] && echo "CONFIG += unittests"
if [ "$shared" = "yes" ]; then
echo "CONFIG -= static"
echo "CONFIG -= staticlib"
echo "CONFIG += shared"
else
echo "CONFIG += static"
echo "CONFIG += staticlib"
echo "CONFIG -= shared"
fi
if [ -d "$QTDIR/include/Qt/private" ] ; then
echo "CONFIG += have_private_qt_headers"
echo "INCLUDEPATH += $QTDIR/include/Qt/private"
#else
#echo "QTDIR must point to an installation that has private headers installed."
#echo "Some features will not be available."
fi
echo "${PRODUCT}_INSTALL_PREFIX = $prefix"
echo "${PRODUCT}_BASE = `pwd`"
) >> ".qmake.cache"
cat <<EOF 1>&2
$Product v$VERSION configuration:
Install Prefix.............: $prefix
(default: $default_prefix)
Debug......................: $debug (default: no)
Release....................: $release (default: yes)
Compiled-In Unit Tests.....: $unittests (default: no)
Restricted symbol export
(shared build only)......: $hide_symbols (default: yes)
EOF
$QTDIR/bin/qmake $product.pro -recursive "CONFIG+=pk7zip_library" || die "qmake failed"
echo "Ok, now run make, then make install to install into $prefix"
|