Skip to content

Commit efb7fad

Browse files
committedJan 5, 2012
Merge branch 'master' of https://github.com/qgis/Quantum-GIS into android
Conflicts: src/ui/qgsnewspatialitelayerdialogbase.ui
2 parents abcd193 + 3f73c85 commit efb7fad

File tree

193 files changed

+33253
-25005
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+33253
-25005
lines changed
 

‎INSTALL

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
Quantum GIS (QGIS)
22
Building QGIS from source - step by step
3-
Sunday November 06, 2011
3+
Tuesday December 27, 2011
44

55

6-
Last Updated: Sunday November 06, 2011
7-
Last Change : Sunday November 06, 2011
6+
Last Updated: Tuesday December 27, 2011
7+
Last Change : Tuesday December 27, 2011
88

99

1010
1. Introduction
@@ -1226,7 +1226,7 @@ http://www.kyngchaos.com/wiki/software/frameworks
12261226
Once downloaded, open and install the frameworks.
12271227

12281228
William provides an additional installer package for Postgresql (for PostGIS
1229-
support). Qgis just needs the libpq client library, so unless you want to
1229+
support). QGIS just needs the libpq client library, so unless you want to
12301230
setup the full Postgres + PostGIS server, all you need is the client-only
12311231
package. It's available here:
12321232

@@ -1242,7 +1242,7 @@ http://www.kyngchaos.com/wiki/software/grass
12421242

12431243
There are some additional dependencies that, at the time of writing, are not
12441244
provided as frameworks or installers so we will need to build these from source.
1245-
If you are wanting to build Qgis as a 64-bit application, you will need to
1245+
If you are wanting to build QGIS as a 64-bit application, you will need to
12461246
provide the appropriate build commands to produce 64-bit support in dependencies.
12471247
Likewise, for 32-bit support on Snow Leopard, you will need to override the
12481248
default system architecture, which is 64-bit, according to instructions for
@@ -1404,7 +1404,7 @@ http://pyqwt.sourceforge.net/
14041404

14051405
Double-click the tarball to unpack it. The following assumes PyQwt v5.2.0
14061406
(comes with Qwt 5.2.1). Normal compilation does both Qwt and PyQwt at the same
1407-
time, but Qwt is statically linked into PyQwt, and Qgis can't use it. So, we
1407+
time, but Qwt is statically linked into PyQwt, and QGIS can't use it. So, we
14081408
need to split the build.
14091409

14101410
Now, cd into the qwt-5.2 subdir in a Terminal. Type these commands to build
@@ -1522,7 +1522,7 @@ This will automatically find and use the previously installed frameworks, and
15221522
the GRASS application if installed.
15231523

15241524
Or, to use a Unix-style build of GRASS, use the following cmake invocation
1525-
(minimum GRASS version as stated in the Qgis requirements, substitute the GRASS
1525+
(minimum GRASS version as stated in the QGIS requirements, substitute the GRASS
15261526
path and version as required):
15271527

15281528
cmake -D CMAKE_INSTALL_PREFIX=~/Applications -D CMAKE_BUILD_TYPE=Release \
@@ -1553,7 +1553,7 @@ script and add arch flags to the configuration:
15531553
-D CMAKE_OSX_ARCHITECTURES=i386 -D PYTHON_EXECUTABLE=/usr/local/bin/python32 \
15541554
..
15551555

1556-
The Qgis Mapserver feature requires fastcgi support. This is included in
1556+
The QGIS Mapserver feature requires fastcgi support. This is included in
15571557
Leopard and Snow Leopard, but was dropped at Lion. To build the Mapserver
15581558
component on Leopard and Snow, add the followling line before the last line in
15591559
the above configuration:
@@ -1564,9 +1564,9 @@ On Lion you are on your own to figure out how to install libfcgi and add fcgi
15641564
support to the system Apache. Not recommended for the average user.
15651565

15661566
Bundling note: Older Qt versions may have problems with some Qt plugins and
1567-
Qgis. The way to handle this is to bundle Qt inside the Qgis application. You
1568-
can do this now or wait to see if there are immediate crashes when running Qgis.
1569-
It's also a good idea to bundle Qt if you need to copy Qgis to other Macs (where
1567+
QGIS. The way to handle this is to bundle Qt inside the QGIS application. You
1568+
can do this now or wait to see if there are immediate crashes when running QGIS.
1569+
It's also a good idea to bundle Qt if you need to copy QGIS to other Macs (where
15701570
you would have to install Xcode just so Qt would install!).
15711571

15721572
To bundle Qt, add the following line before the last line (the ".." line) in

‎cmake/MacBundleMacros.cmake

Lines changed: 50 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,26 @@ ENDFUNCTION (MYMESSAGE)
3131
# regex stuff taken from GetPrerequisites
3232

3333
FUNCTION (GET_INSTALL_NAME LIBFILE LIBNAME OUTVAR)
34-
EXECUTE_PROCESS (COMMAND otool -L "${LIBFILE}" OUTPUT_VARIABLE iname_out)
35-
# remove 1st line, it's just path to lib file
36-
STRING (REGEX REPLACE ".*:\n" "" iname "${iname_out}")
37-
IF (iname)
38-
# find libname
39-
STRING (REGEX MATCH "[^\n\t ]*${LIBNAME}[^\n ]*" iname "${iname}")
40-
ENDIF (iname)
41-
SET (${OUTVAR} ${iname} PARENT_SCOPE)
34+
IF (EXISTS "${LIBFILE}")
35+
EXECUTE_PROCESS (COMMAND otool -L "${LIBFILE}" OUTPUT_VARIABLE iname_out)
36+
# remove 1st line, it's just path to lib file
37+
STRING (REGEX REPLACE ".*:\n" "" iname "${iname_out}")
38+
IF (iname)
39+
# find libname
40+
STRING (REGEX MATCH "[^\n\t ]*${LIBNAME}[^\n ]*" iname "${iname}")
41+
ENDIF (iname)
42+
SET (${OUTVAR} ${iname} PARENT_SCOPE)
43+
ELSE ()
44+
SET (${OUTVAR} "" PARENT_SCOPE)
45+
ENDIF ()
4246
ENDFUNCTION (GET_INSTALL_NAME)
4347

4448
# install_name_tool -change CHANGE CHANGETO CHANGEBIN
4549

4650
FUNCTION (INSTALLNAMETOOL_CHANGE CHANGE CHANGETO CHANGEBIN)
47-
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
51+
IF (EXISTS "${CHANGEBIN}" AND CHANGE AND CHANGETO)
52+
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
53+
ENDIF ()
4854
ENDFUNCTION (INSTALLNAMETOOL_CHANGE)
4955

5056
# copy a framework, only specified archs, current version, debug dep on CMAKE_BUILD_TYPE
@@ -59,22 +65,24 @@ FUNCTION (COPY_FRAMEWORK FWPREFIX FWNAME FWDEST)
5965
OUTPUT_VARIABLE FWDIRPHYS
6066
)
6167
STRING (STRIP "${FWDIRPHYS}" FWDIRPHYS)
62-
STRING (REGEX MATCH "[^/\n]+$" FWVER "${FWDIRPHYS}")
63-
EXECUTE_PROCESS (COMMAND mkdir -p "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
64-
EXECUTE_PROCESS (COMMAND ln -sfh ${FWVER} "${FWDEST}/${FWNAME}.framework/Versions/Current")
65-
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}")
66-
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWNAME} "${FWDEST}/${FWNAME}.framework/${FWNAME}")
67-
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
68-
EXECUTE_PROCESS (COMMAND cp -Rfp "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
69-
EXECUTE_PROCESS (COMMAND ln -sfh Versions/Current/Resources "${FWDEST}/${FWNAME}.framework/Resources")
70-
ENDIF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
71-
# debug variants
72-
SET (FWD "${FWNAME}_debug")
73-
IF ("${FWDEBUG}" STREQUAL "Debug" AND EXISTS "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
74-
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
75-
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWD} "${FWDEST}/${FWNAME}.framework/${FWD}")
76-
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM")
77-
EXECUTE_PROCESS (COMMAND ditto -X ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM" "${FWDEST}/${FWNAME}.framework")
68+
IF (IS_DIRECTORY "${FWDIRPHYS}")
69+
STRING (REGEX MATCH "[^/\n]+$" FWVER "${FWDIRPHYS}")
70+
EXECUTE_PROCESS (COMMAND mkdir -p "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
71+
EXECUTE_PROCESS (COMMAND ln -sfh ${FWVER} "${FWDEST}/${FWNAME}.framework/Versions/Current")
72+
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWNAME}")
73+
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWNAME} "${FWDEST}/${FWNAME}.framework/${FWNAME}")
74+
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
75+
EXECUTE_PROCESS (COMMAND cp -Rfp "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}")
76+
EXECUTE_PROCESS (COMMAND ln -sfh Versions/Current/Resources "${FWDEST}/${FWNAME}.framework/Resources")
77+
ENDIF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/Resources")
78+
# debug variants
79+
SET (FWD "${FWNAME}_debug")
80+
IF ("${FWDEBUG}" STREQUAL "Debug" AND EXISTS "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
81+
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/Versions/${FWVER}/${FWD}" "${FWDEST}/${FWNAME}.framework/Versions/${FWVER}/${FWD}")
82+
EXECUTE_PROCESS (COMMAND ln -sf Versions/Current/${FWD} "${FWDEST}/${FWNAME}.framework/${FWD}")
83+
IF (IS_DIRECTORY "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM")
84+
EXECUTE_PROCESS (COMMAND ditto -X ${QARCHS} "${FWPREFIX}/${FWNAME}.framework/${FWD}.dSYM" "${FWDEST}/${FWNAME}.framework")
85+
ENDIF ()
7886
ENDIF ()
7987
ENDIF ()
8088
ENDFUNCTION (COPY_FRAMEWORK)
@@ -95,16 +103,17 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
95103
ENDIF ()
96104
SET (LIB_CHG_TO "${ATEXECUTABLE}/${LIBMID}/${LIBPOST}")
97105
# app - always @executable_path
98-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QAPPDIR}/${QGIS_APP_NAME}")
99-
# qgis_help, qbrowser - doesn't link anything else than Qt/Qgis
100-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/qgis_help.app/Contents/MacOS/qgis_help")
101-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/qbrowser.app/Contents/MacOS/qbrowser")
106+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QAPPDIR}/${QGIS_APP_NAME}")
107+
# qgis helper apps - don't link anything else than Qt/Qgis
108+
FOREACH (QA ${QGAPPLIST})
109+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QBINDIR}/${QA}.app/Contents/MacOS/${QA}")
110+
ENDFOREACH (QA)
102111
# qgis-mapserver
103112
IF (${WITH_MAPSERVER})
104113
IF (${OSX_HAVE_LOADERPATH})
105114
SET (LIB_CHG_TO "${ATEXECUTABLE}/${QGIS_CGIBIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
106115
ENDIF ()
107-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi")
116+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QCGIDIR}/qgis_mapserv.fcgi")
108117
ENDIF ()
109118
# libs
110119
IF (${OSX_HAVE_LOADERPATH})
@@ -116,40 +125,40 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
116125
ENDIF ()
117126
ENDIF ()
118127
FOREACH (QL ${QGFWLIST})
119-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QFWDIR}/${QL}.framework/${QL}")
128+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QFWDIR}/${QL}.framework/${QL}")
120129
ENDFOREACH (QL)
121130
# libqgispython is not a framework
122131
IF (${OSX_HAVE_LOADERPATH})
123132
SET (LIB_CHG_TO "${ATLOADER}/${QGIS_LIB_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
124133
ENDIF ()
125-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBDIR}/libqgispython.dylib")
134+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBDIR}/libqgispython.dylib")
126135
# GRASS libexec stuff
127136
IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser")
128137
IF (${OSX_HAVE_LOADERPATH})
129138
SET (LIB_CHG_TO "${ATLOADER}/../../${QGIS_LIBEXEC_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
130139
ENDIF ()
131-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser")
140+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBXDIR}/grass/bin/qgis.g.browser")
132141
ENDIF ()
133142
# plugins
134143
IF (${OSX_HAVE_LOADERPATH})
135144
SET (LIB_CHG_TO "${ATLOADER}/${QGIS_PLUGIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
136145
ENDIF ()
137146
FOREACH (QP ${QGPLUGLIST})
138-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP}")
147+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QP}")
139148
ENDFOREACH (QP)
140149
# qgis python
141150
IF (${OSX_HAVE_LOADERPATH})
142151
SET (LIB_CHG_TO "${ATLOADER}/../../${QGIS_DATA_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
143152
ENDIF ()
144153
FOREACH (PG ${QGPYLIST})
145-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG}")
154+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${PG}")
146155
ENDFOREACH (PG)
147156
# bin - nothing yet
148157
#IF (${OSX_HAVE_LOADERPATH})
149158
# SET (LIB_CHG_TO "${ATLOADER}/${QGIS_BIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
150159
#ENDIF ()
151160
#FOREACH (PB ...)
152-
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}")
161+
# INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QBINDIR}/${PB}")
153162
#ENDFOREACH (PB)
154163
ENDIF (LIBFROM)
155164
ENDFUNCTION (UPDATEQGISPATHS)
@@ -177,8 +186,10 @@ FOREACH (QARCH ${CMAKE_OSX_ARCHITECTURES})
177186
ENDFOREACH (QARCH)
178187

179188
# common file lists
180-
FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR}/qgis*.framework)
189+
FILE (GLOB QGFWLIST RELATIVE "${QFWDIR}" "${QFWDIR}/qgis*.framework")
181190
# for some reason, REPLACE is stripping list seps
182191
STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST})
183-
FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so)
184-
FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
192+
FILE (GLOB QGPLUGLIST "${QPLUGDIR}/*.so")
193+
FILE (GLOB QGPYLIST "${QGISPYDIR}/qgis/*.so")
194+
FILE (GLOB QGAPPLIST RELATIVE "${QBINDIR}" "${QBINDIR}/q*.app")
195+
STRING(REPLACE ".app" ";" QGAPPLIST ${QGAPPLIST})

0 commit comments

Comments
 (0)
Please sign in to comment.