/
2-release-extra-qt.sh
executable file
·155 lines (138 loc) · 4.92 KB
/
2-release-extra-qt.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
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
#!/bin/sh
# Copy Qt frameworks to atlas bundle
# and make search paths for them relative to bundle
APP_PREFIX=/Applications/qgis0.11.0.app
MACOS_PREFIX=${APP_PREFIX}/Contents/MacOS
FRAMEWORKPREFIX=${APP_PREFIX}/Contents/Frameworks
mkdir -p $MACOS_PREFIX
mkdir -p $FRAMEWORKPREFIX
pushd $PWD
cd $FRAMEWORKPREFIX
# Edit version when any library is upgraded
UNIVERSAL_LIBS_PREFIX=/usr/local/qgis_universal_deps
QTPREFIX=${UNIVERSAL_LIBS_PREFIX}/lib
QTFRAMEWORKS="QtCore QtGui QtNetwork QtSql QtSvg QtXml QtDesigner"
#
# Copy supporting frameworks to application bundle
#
cd $FRAMEWORKPREFIX
for FRAMEWORK in $QTFRAMEWORKS
do
LIBFRAMEWORK=$FRAMEWORK.framework/Versions/4/$FRAMEWORK
if test ! -f $LIBFRAMEWORK; then
mkdir -p $FRAMEWORK.framework/Versions/4
cp $QTPREFIX/$LIBFRAMEWORK $LIBFRAMEWORK
install_name_tool -id @executable_path/../Frameworks/$LIBFRAMEWORK $LIBFRAMEWORK
fi
done
# Update path to supporting frameworks
for FRAMEWORK in QtGui QtNetwork QtSql QtSvg QtXml
do
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
done
for FRAMEWORK in QtSvg
do
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
install_name_tool -change ${QTPREFIX}/QtXml.framework/Versions/4/QtXml \
@executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml \
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
done
#
# Update qgis related libs and binaries
#
cd $MACOS_PREFIX
FILES="qgis
lib/libqgis_core.dylib
lib/libqgis_gui.dylib
lib/qgis/libcatalogue.so
lib/qgis/libcopyrightlabelplugin.so
lib/qgis/libgpxprovider.so
lib/qgis/libscalebarplugin.so
lib/qgis/libdelimitedtextplugin.so
lib/qgis/libgridmakerplugin.so
lib/qgis/libwfsplugin.so
lib/qgis/libdelimitedtextprovider.so
lib/qgis/libnortharrowplugin.so
lib/qgis/libwfsprovider.so
lib/qgis/libgeorefplugin.so
lib/qgis/libogrprovider.so
lib/qgis/libwmsprovider.so
lib/qgis/libgpsimporterplugin.so
lib/qgis/libevis.so
lib/qgis/libquickprintplugin.so"
for FILE in ${FILES}
do
for FRAMEWORK in QtCore QtGui QtNetwork QtSql QtSvg QtXml
do
install_name_tool -change ${QTPREFIX}/${FRAMEWORK}.framework/Versions/4/$FRAMEWORK \
@executable_path/../Frameworks/$FRAMEWORK.framework/Versions/4/$FRAMEWORK \
$MACOS_PREFIX/$FILE
done
done
#
# Update qt imageformat plugin paths
#
cd ${MACOS_PREFIX}/../
mkdir -p plugins/imageformats
cd plugins/imageformats
LIBJPEG=libjpeg.dylib
LIBQJPEG=${UNIVERSAL_LIBS_PREFIX}/plugins/imageformats/libqjpeg.dylib
if test ! -f $LIBJPEG; then
cp $LIBQJPEG $LIBJPEG
# Update path to supporting libraries
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$LIBJPEG
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$LIBJPEG
install_name_tool -change $LIBQJPEG @executable_path/../plugins/imageformats/$LIBJPEG
fi
LIBGIF=libgif.dylib
LIBQGIF=${UNIVERSAL_LIBS_PREFIX}/plugins/imageformats/libqgif.dylib
if test ! -f $LIBGIF; then
cp $LIBQGIF $LIBGIF
# Update path to supporting libraries
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$LIBGIF
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
$LIBGIF
install_name_tool -change $LIBQGIF @executable_path/../plugins/imageformats/$LIBGIF
fi
#
# QT Sql Drivers
#
cd ${MACOS_PREFIX}/../
mkdir -p plugins/sqldrivers
cd plugins/sqldrivers
LIBSQLITE=libqsqlite.dylib
LIBQSQLITE=${UNIVERSAL_LIBS_PREFIX}/plugins/sqldrivers/libqsqlite.dylib
if test ! -f $LIBSQLITE; then
cp $LIBQSQLITE $LIBSQLITE
# Update path to supporting libraries
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
$LIBSQLITE
install_name_tool -change ${QTPREFIX}/QtSql.framework/Versions/4/QtSql \
@executable_path/../Frameworks/QtSql.framework/Versions/4/QtSql \
$LIBSQLITE
install_name_tool -change $LIBSQLITE @executable_path/../plugins/sqldrivers/$LIBSQLITE
fi
popd
#
# Strip the qt libs
#
strip -x ${FRAMEWORKPREFIX}/QtGui.framework/Versions/4/QtGui
strip -x ${FRAMEWORKPREFIX}/QtCore.framework/Versions/4/QtCore
strip -x ${FRAMEWORKPREFIX}/Qt3Support.framework/Versions/4/Qt3Support
strip -x ${FRAMEWORKPREFIX}/QtSql.framework/Versions/4/QtSql
strip -x ${FRAMEWORKPREFIX}/QtSvg.framework/Versions/4/QtSvg
strip -x ${FRAMEWORKPREFIX}/QtXml.framework/Versions/4/QtXml
strip -x ${FRAMEWORKPREFIX}/QtNetwork.framework/Versions/4/QtNetwork
strip -x ${FRAMEWORKPREFIX}/QtDesigner.framework/Versions/4/QtDesigner