Skip to content

Commit 3dbdb62

Browse files
author
timlinux
committedMay 14, 2008
Alternative post build scripts for mac if using Tim's qgis universal deps bundle for OS X
git-svn-id: http://svn.osgeo.org/qgis/trunk@8427 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 10f4017 commit 3dbdb62

File tree

2 files changed

+251
-0
lines changed

2 files changed

+251
-0
lines changed
 

‎mac/1-release-extra.sh

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
#!/bin/sh
2+
# Copy supportibng libraries (except Qt) to openModeller bundle
3+
# and make search paths for them relative to bundle
4+
5+
APP_PREFIX=/Applications/qgis0.11.0.app
6+
BUNDLE_DIR=${APP_PREFIX}/Contents/MacOS
7+
LIB_DIR=/usr/local/qgis_universal_deps/lib
8+
#set -x
9+
cp -r ${LIB_DIR}/libexpat.dylib ${BUNDLE_DIR}/lib
10+
cp -r ${LIB_DIR}/libgdal.1.dylib ${BUNDLE_DIR}/lib
11+
cp -r ${LIB_DIR}/libgeos.dylib ${BUNDLE_DIR}/lib
12+
cp -r ${LIB_DIR}/libproj.dylib ${BUNDLE_DIR}/lib
13+
cp -r ${LIB_DIR}/libgsl.dylib ${BUNDLE_DIR}/lib
14+
cp -r ${LIB_DIR}/libgslcblas.dylib ${BUNDLE_DIR}/lib
15+
#cp -r ${LIB_DIR}/libsqlite3.0.dylib ${BUNDLE_DIR}
16+
pushd .
17+
cd ${BUNDLE_DIR}/lib
18+
ln -s libgdal.1.dylib libgdal.dylib
19+
ln -s libexpat.dylib libexpat.1.dylib
20+
ln -s libgsl.dylib libgsl.0.dylib
21+
ln -s libgslcblas.dylib libgslcblas.0.dylib
22+
#ln -s libsqlite3.0.dylib libsqlite3.dylib
23+
popd
24+
25+
26+
install_name_tool -change ${LIB_DIR}/libgdal.1.dylib \
27+
@executable_path/lib/libgdal.1.dylib \
28+
${BUNDLE_DIR}/qgis
29+
install_name_tool -change ${LIB_DIR}/libproj.dylib \
30+
@executable_path/lib/libproj.dylib \
31+
${BUNDLE_DIR}/qgis
32+
33+
34+
LIBS="lib/libqgis_core.dylib \
35+
lib/libqgis_gui.dylib \
36+
lib/libexpat.1.dylib \
37+
lib/libgsl.0.dylib \
38+
lib/libgslcblas.0.dylib \
39+
lib/libexpat.dylib \
40+
lib/libgdal.dylib \
41+
lib/libgeos.dylib \
42+
lib/libproj.dylib"
43+
#
44+
# Next we work through all the libs except Qt libs
45+
# and update the library ids and paths for these libs
46+
#
47+
for LIB in $LIBS
48+
do
49+
install_name_tool -id @executable_path/$LIB ${BUNDLE_DIR}/${LIB}
50+
#echo "install_name_tool -id @executable_path/$LIB ${BUNDLE_DIR}/${LIB}"
51+
# for debugging only
52+
for LIBPATH in `otool -L ${BUNDLE_DIR}/${LIB} \
53+
| sed 's/(\([a-zA-Z0-9\., ]*\))//g' \
54+
| grep $LIB_DIR \
55+
| grep -v framework` #frameworks (in particular qt frameworks)
56+
#get dealt with in another script
57+
do
58+
#echo $LIBPATH
59+
BASELIB=`basename "$LIBPATH"`
60+
#echo $BASELIB
61+
install_name_tool -change ${LIBPATH} \
62+
@executable_path/lib/${BASELIB} \
63+
${BUNDLE_DIR}/${LIB}
64+
done
65+
#otool -L ${BUNDLE_DIR}/${LIB}
66+
echo ${LIB}
67+
done
68+
69+
#
70+
# Next sort out the qgis plugins....
71+
#
72+
LIBS="libcopyrightlabelplugin.so
73+
libgpxprovider.so
74+
libscalebarplugin.so
75+
libdelimitedtextplugin.so
76+
libgridmakerplugin.so
77+
libwfsplugin.so
78+
libdelimitedtextprovider.so
79+
libnortharrowplugin.so
80+
libwfsprovider.so
81+
libgeorefplugin.so
82+
libogrprovider.so
83+
libwmsprovider.so
84+
libgpsimporterplugin.so
85+
libquickprintplugin.so
86+
libevis.so"
87+
for LIB in $LIBS
88+
do
89+
install_name_tool -id @executable_path/lib/qgis/${LIB} ${BUNDLE_DIR}/lib/qgis/${LIB}
90+
# for debugging only
91+
for LIBPATH in `otool -L ${BUNDLE_DIR}/lib/qgis/${LIB} \
92+
| sed 's/(\([a-zA-Z0-9\., ]*\))//g' \
93+
| grep $LIB_DIR \
94+
| grep -v framework` #frameworks (in particular qt frameworks) get
95+
#dealt with in another script
96+
do
97+
#echo "------------"
98+
#echo $LIBPATH
99+
#echo "------------"
100+
BASELIB=`basename "$LIBPATH"`
101+
#echo $BASELIB
102+
install_name_tool -change ${LIBPATH} @executable_path/lib/${BASELIB} ${BUNDLE_DIR}/lib/qgis/${LIB}
103+
done
104+
echo $LIB
105+
#otool -L ${BUNDLE_DIR}/lib/qgis/${LIB}
106+
#echo "----------------------------------"
107+
done
108+

‎mac/2-release-extra-qt.sh

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#!/bin/sh
2+
# Copy Qt frameworks to atlas bundle
3+
# and make search paths for them relative to bundle
4+
5+
APP_PREFIX=/Applications/qgis0.11.0.app
6+
MACOS_PREFIX=${APP_PREFIX}/Contents/MacOS
7+
FRAMEWORKPREFIX=${APP_PREFIX}/Contents/Frameworks
8+
mkdir -p $MACOS_PREFIX
9+
mkdir -p $FRAMEWORKPREFIX
10+
pushd $PWD
11+
cd $FRAMEWORKPREFIX
12+
13+
# Edit version when any library is upgraded
14+
UNIVERSAL_LIBS_PREFIX=/usr/local/qgis_universal_deps
15+
QTPREFIX=${UNIVERSAL_LIBS_PREFIX}/lib
16+
QTFRAMEWORKS="QtCore QtGui QtNetwork QtSql QtSvg QtXml"
17+
18+
#
19+
# Copy supporting frameworks to application bundle
20+
#
21+
cd $FRAMEWORKPREFIX
22+
for FRAMEWORK in $QTFRAMEWORKS
23+
do
24+
LIBFRAMEWORK=$FRAMEWORK.framework/Versions/4/$FRAMEWORK
25+
if test ! -f $LIBFRAMEWORK; then
26+
mkdir -p $FRAMEWORK.framework/Versions/4
27+
cp $QTPREFIX/$LIBFRAMEWORK $LIBFRAMEWORK
28+
install_name_tool -id @executable_path/../Frameworks/$LIBFRAMEWORK $LIBFRAMEWORK
29+
fi
30+
done
31+
32+
# Update path to supporting frameworks
33+
for FRAMEWORK in QtGui QtNetwork QtSql QtSvg QtXml
34+
do
35+
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
36+
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
37+
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
38+
done
39+
40+
for FRAMEWORK in QtSvg
41+
do
42+
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
43+
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
44+
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
45+
install_name_tool -change ${QTPREFIX}/QtXml.framework/Versions/4/QtXml \
46+
@executable_path/../Frameworks/QtXml.framework/Versions/4/QtXml \
47+
$FRAMEWORK.framework/Versions/4/$FRAMEWORK
48+
done
49+
50+
#
51+
# Update qgis related libs and binaries
52+
#
53+
54+
cd $MACOS_PREFIX
55+
FILES="qgis
56+
lib/libqgis_core.dylib
57+
lib/libqgis_gui.dylib
58+
lib/libomg_widgets.dylib
59+
lib/qgis/libcopyrightlabelplugin.so
60+
lib/qgis/libgpxprovider.so
61+
lib/qgis/libscalebarplugin.so
62+
lib/qgis/libdelimitedtextplugin.so
63+
lib/qgis/libgridmakerplugin.so
64+
lib/qgis/libwfsplugin.so
65+
lib/qgis/libdelimitedtextprovider.so
66+
lib/qgis/libnortharrowplugin.so
67+
lib/qgis/libwfsprovider.so
68+
lib/qgis/libgeorefplugin.so
69+
lib/qgis/libogrprovider.so
70+
lib/qgis/libwmsprovider.so
71+
lib/qgis/libgpsimporterplugin.so
72+
lib/qgis/libevis.so
73+
lib/qgis/libquickprintplugin.so"
74+
for FILE in ${FILES}
75+
do
76+
for FRAMEWORK in QtCore QtGui QtNetwork QtSql QtSvg QtXml
77+
do
78+
set -x
79+
install_name_tool -change ${QTPREFIX}/${FRAMEWORK}.framework/Versions/4/$FRAMEWORK \
80+
@executable_path/../Frameworks/$FRAMEWORK.framework/Versions/4/$FRAMEWORK \
81+
$MACOS_PREFIX/$FILE
82+
done
83+
done
84+
85+
86+
87+
#
88+
# Update qt imageformat plugin paths
89+
#
90+
91+
92+
cd ${MACOS_PREFIX}/../
93+
mkdir -p plugins/imageformats
94+
cd plugins/imageformats
95+
96+
LIBJPEG=libjpeg.dylib
97+
LIBQJPEG=${UNIVERSAL_LIBS_PREFIX}/plugins/imageformats/libqjpeg.dylib
98+
if test ! -f $LIBJPEG; then
99+
cp $LIBQJPEG $LIBJPEG
100+
# Update path to supporting libraries
101+
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
102+
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
103+
$LIBJPEG
104+
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
105+
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
106+
$LIBJPEG
107+
install_name_tool -change $LIBQJPEG @executable_path/../plugins/imageformats/$LIBJPEG
108+
fi
109+
LIBGIF=libgif.dylib
110+
LIBQGIF=${UNIVERSAL_LIBS_PREFIX}/plugins/imageformats/libqgif.dylib
111+
if test ! -f $LIBGIF; then
112+
cp $LIBQGIF $LIBGIF
113+
# Update path to supporting libraries
114+
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
115+
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
116+
$LIBGIF
117+
install_name_tool -change ${QTPREFIX}/QtGui.framework/Versions/4/QtGui \
118+
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui \
119+
$LIBGIF
120+
install_name_tool -change $LIBQGIF @executable_path/../plugins/imageformats/$LIBGIF
121+
fi
122+
123+
#
124+
# QT Sql Drivers
125+
#
126+
cd ${MACOS_PREFIX}/../
127+
mkdir -p plugins/sqldrivers
128+
cd plugins/sqldrivers
129+
LIBSQLITE=libqsqlite.dylib
130+
LIBQSQLITE=${UNIVERSAL_LIBS_PREFIX}/plugins/sqldrivers/libqsqlite.dylib
131+
if test ! -f $LIBSQLITE; then
132+
cp $LIBQSQLITE $LIBSQLITE
133+
# Update path to supporting libraries
134+
install_name_tool -change ${QTPREFIX}/QtCore.framework/Versions/4/QtCore \
135+
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore \
136+
$LIBSQLITE
137+
install_name_tool -change ${QTPREFIX}/QtSql.framework/Versions/4/QtSql \
138+
@executable_path/../Frameworks/QtSql.framework/Versions/4/QtSql \
139+
$LIBSQLITE
140+
install_name_tool -change $LIBSQLITE @executable_path/../plugins/sqldrivers/$LIBSQLITE
141+
fi
142+
143+
popd

0 commit comments

Comments
 (0)
Please sign in to comment.