Skip to content

Commit 4052268

Browse files
committed
OS X frameworks for qgis libs;
dev frameworks install option; cmake cleanup
1 parent 3849742 commit 4052268

File tree

19 files changed

+412
-289
lines changed

19 files changed

+412
-289
lines changed

CMakeLists.txt

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -269,16 +269,19 @@ ELSE (WIN32)
269269

270270
IF (APPLE)
271271
# for Mac OS X, everything is put inside an application bundle
272+
# save the root install prefix for the app later
273+
SET (QGIS_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
272274
SET (QGIS_MACAPP_PREFIX ${CMAKE_INSTALL_PREFIX}/${QGIS_APP_NAME}.app/Contents)
275+
# common prefix for components, let cmake handle it
273276
SET (CMAKE_INSTALL_PREFIX ${QGIS_MACAPP_PREFIX}/MacOS)
274-
# path for library references
275-
SET (CMAKE_INSTALL_NAME_DIR @executable_path/lib)
276277
# 4 bundling levels, each includes previous
277278
# 0 nothing
278279
# 1 Qt frameworks
279280
# 2 non-system libraries, "standard"
280281
# 3 non-system frameworks, "standalone"
281-
SET (QGIS_MACAPP_BUNDLE 0 CACHE STRING "What to bundle into app package")
282+
SET (QGIS_MACAPP_BUNDLE 1 CACHE STRING "What to bundle into app package")
283+
SET (QGIS_MACAPP_INSTALL_DEV FALSE CACHE BOOL "Install developer frameworks")
284+
SET (QGIS_MACAPP_DEV_PREFIX "/Library/Frameworks" CACHE STRING "Path to install developer frameworks")
282285
# if we have @loader_path, >=OSX 10.5 (darwin 9+)
283286
IF (CMAKE_SYSTEM_VERSION VERSION_GREATER 9.0.0 OR CMAKE_SYSTEM_VERSION VERSION_EQUAL 9.0.0)
284287
SET (OSX_HAVE_LOADERPATH 1)
@@ -303,6 +306,8 @@ ELSE (WIN32)
303306
SET (DEFAULT_PLUGIN_SUBDIR ../PlugIns/qgis)
304307
SET (QGIS_PLUGIN_SUBDIR_REV ../../MacOS)
305308
SET (DEFAULT_INCLUDE_SUBDIR include/qgis)
309+
# path for framework references
310+
SET (CMAKE_INSTALL_NAME_DIR @executable_path/${QGIS_FW_SUBDIR})
306311

307312
ELSE (APPLE)
308313
# UNIX
@@ -367,12 +372,12 @@ SET (QGIS_PLUGIN_DIR ${QGIS_PLUGIN_SUBDIR})
367372
SET (QGIS_INCLUDE_DIR ${QGIS_INCLUDE_SUBDIR})
368373

369374
# manual page - makes sense only on unix systems
370-
IF (UNIX)
375+
IF (UNIX AND NOT APPLE)
371376
SET (DEFAULT_MANUAL_SUBDIR man)
372377
SET (QGIS_MANUAL_SUBDIR ${DEFAULT_MANUAL_SUBDIR} CACHE STRING "Subdirectory where manual files will be installed")
373378
MARK_AS_ADVANCED (QGIS_MANUAL_SUBDIR)
374379
SET (QGIS_MANUAL_DIR ${CMAKE_INSTALL_PREFIX}/${QGIS_MANUAL_SUBDIR})
375-
ENDIF (UNIX)
380+
ENDIF (UNIX AND NOT APPLE)
376381

377382
#############################################################
378383
# Python bindings
@@ -402,9 +407,9 @@ ENDIF (WITH_BINDINGS)
402407

403408
#############################################################
404409
# create qgsconfig.h
410+
# installed with app target
405411

406412
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake_templates/qgsconfig.h.in ${CMAKE_BINARY_DIR}/qgsconfig.h)
407-
INSTALL(FILES ${CMAKE_BINARY_DIR}/qgsconfig.h DESTINATION ${QGIS_INCLUDE_DIR})
408413
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
409414

410415
# Added by Jef to prevent python core and gui libs linking to other qgisCore and qgisGui libs
@@ -427,18 +432,22 @@ IF (GIT_MARKER)
427432
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
428433
)
429434
ELSE(MSVC)
435+
EXECUTE_PROCESS(COMMAND ${GIT} log -n1 --pretty=%h OUTPUT_VARIABLE REVISION)
436+
STRING(STRIP "${REVISION}" REVISION)
430437
ADD_CUSTOM_COMMAND(
431438
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h
432-
COMMAND echo \\\#define QGSVERSION \\\"$$\( ${GIT} log -n1 --pretty=%h \)\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h
439+
COMMAND echo \\\#define QGSVERSION \\\"${REVISION}\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h
433440
MAIN_DEPENDENCY ${GIT_MARKER}
434441
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
435442
)
436443
ENDIF(MSVC)
437444
ELSE(GIT)
438445
MESSAGE(STATUS "git marker, but no git found - version will be unknown")
446+
SET(REVISION "unknown")
439447
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h "#define QGSVERSION \"unknown\"")
440448
ENDIF(GIT)
441449
ELSE (GIT_MARKER)
450+
SET(REVISION "exported")
442451
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgsversion.h "#define QGSVERSION \"exported\"")
443452
ENDIF (GIT_MARKER)
444453

cmake/FindQGIS.cmake

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
##
55
## QGIS_CORE_LIBRARY = full path to the CORE library
66
## QGIS_GUI_LIBRARY = full path to the GUI library
7+
## QGIS_ANALYSIS_LIBRARY = full path to the ANALYSIS library
78
## QGIS_PLUGIN_DIR = full path to where QGIS plugins are installed
89
## QGIS_INCLUDE_DIR = where to find headers
910
##
@@ -66,21 +67,34 @@ IF(WIN32)
6667
"$ENV{OSGEO4W_ROOT}/lib"
6768
"$ENV{PROGRAMFILES}/Quantum GIS/lib"
6869
)
70+
FIND_LIBRARY(QGIS_ANALYSIS_LIBRARY
71+
NAMES qgis_analysis
72+
PATHS
73+
"$ENV{LIB_DIR}"
74+
"$ENV{LIB}"
75+
"$ENV{OSGEO4W_ROOT}/lib"
76+
"$ENV{PROGRAMFILES}/Quantum GIS/lib"
77+
)
6978
ENDIF (MSVC)
7079
ELSE(WIN32)
7180
IF(UNIX)
7281
# try to use bundle on mac
7382
IF (APPLE)
7483
#MESSAGE("Searching for QGIS in /Applications/QGIS.app/Contents/MacOS")
75-
#SET (QGIS_MAC_PATH /Applications/qgis1.0.0.app/Contents/MacOS)
76-
SET (QGIS_MAC_PATH /Applications/qgis1.1.0.app/Contents/MacOS)
84+
SET (QGIS_MAC_PATH /Applications/QGIS.app/Contents/MacOS)
7785
SET (QGIS_LIB_DIR ${QGIS_MAC_PATH}/lib)
78-
SET (QGIS_PLUGIN_DIR ${QGIS_MAC_PATH}/lib/qgis CACHE STRING INTERNAL)
79-
# set INCLUDE_DIR to prefix+include
80-
SET(QGIS_INCLUDE_DIR ${QGIS_MAC_PATH}/include/qgis CACHE STRING INTERNAL)
81-
## extract link dirs
82-
SET(QGIS_CORE_LIBRARY ${QGIS_LIB_DIR}/libqgis_core.dylib CACHE STRING INTERNAL)
83-
SET(QGIS_GUI_LIBRARY ${QGIS_LIB_DIR}/libqgis_gui.dylib CACHE STRING INTERNAL)
86+
SET (QGIS_FW_DIR ${QGIS_MAC_PATH}/../Frameworks)
87+
SET (QGIS_PLUGIN_DIR ${QGIS_MAC_PATH}/../PlugIns/qgis CACHE STRING INTERNAL)
88+
# set INCLUDE_DIR to frameworks
89+
SET(QGIS_INCLUDE_DIR
90+
${QGIS_FW_DIR}/qgis_core.framework/Headers
91+
${QGIS_FW_DIR}/qgis_gui.framework/Headers
92+
${QGIS_FW_DIR}/qgis_analysis.framework/Headers
93+
CACHE STRING INTERNAL)
94+
# extract link dirs
95+
SET(QGIS_CORE_LIBRARY ${QGIS_FW_DIR}/qgis_core.framework/qgis_core CACHE STRING INTERNAL)
96+
SET(QGIS_GUI_LIBRARY ${QGIS_FW_DIR}/qgis_gui.framework/qgis_gui CACHE STRING INTERNAL)
97+
SET(QGIS_ANALYSIS_LIBRARY ${QGIS_FW_DIR}/qgis_analysis.framework/qgis_analysis CACHE STRING INTERNAL)
8498
ELSE (APPLE)
8599
#MESSAGE("Searching for QGIS in /usr/bin; /usr/local/bin")
86100
FIND_PATH(QGIS_PLUGIN_DIR
@@ -115,18 +129,27 @@ ELSE(WIN32)
115129
/usr/local/lib
116130
"$ENV{LIB_DIR}/lib/"
117131
)
132+
FIND_LIBRARY(QGIS_ANALYSIS_LIBRARY
133+
NAMES qgis_analysis
134+
PATHS
135+
/usr/lib64
136+
/usr/lib
137+
/usr/local/lib
138+
"$ENV{LIB_DIR}/lib/"
139+
)
118140
ENDIF (APPLE)
119141
ENDIF(UNIX)
120142
ENDIF(WIN32)
121143

122-
IF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY)
144+
IF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY AND QGIS_ANALYSIS_LIBRARY)
123145
SET(QGIS_FOUND TRUE)
124-
ENDIF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY)
146+
ENDIF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY AND QGIS_ANALYSIS_LIBRARY)
125147

126148
IF (QGIS_FOUND)
127149
IF (NOT QGIS_FIND_QUIETLY)
128150
MESSAGE(STATUS "Found QGIS core: ${QGIS_CORE_LIBRARY}")
129151
MESSAGE(STATUS "Found QGIS gui: ${QGIS_GUI_LIBRARY}")
152+
MESSAGE(STATUS "Found QGIS analysis: ${QGIS_ANALYSIS_LIBRARY}")
130153
MESSAGE(STATUS "Found QGIS plugins directory: ${QGIS_PLUGIN_DIR}")
131154
ENDIF (NOT QGIS_FIND_QUIETLY)
132155
ELSE (QGIS_FOUND)

cmake/MacBundleMacros.cmake

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,8 @@ FUNCTION (GET_INSTALL_NAME LIBFILE LIBNAME OUTVAR)
2020
SET (${OUTVAR} ${iname} PARENT_SCOPE)
2121
ENDFUNCTION (GET_INSTALL_NAME)
2222

23-
# message only if verbose makefiles
24-
25-
FUNCTION (MYMESSAGE MSG)
26-
IF (@CMAKE_VERBOSE_MAKEFILE@)
27-
MESSAGE (STATUS "${MSG}")
28-
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
29-
ENDFUNCTION (MYMESSAGE)
30-
3123
# install_name_tool -change CHANGE CHANGETO CHANGEBIN
3224

3325
FUNCTION (INSTALLNAMETOOL_CHANGE CHANGE CHANGETO CHANGEBIN)
34-
MYMESSAGE ("install_name_tool -change ${CHANGE} ${CHANGETO} \"${CHANGEBIN}\"")
3526
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
3627
ENDFUNCTION (INSTALLNAMETOOL_CHANGE)

images/icons/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,12 @@
22
FILE (GLOB IMAGES *.png)
33
INSTALL (FILES ${IMAGES}
44
DESTINATION ${QGIS_DATA_DIR}/images/icons)
5+
6+
IF(MSVC)
7+
INSTALL(FILES qgis.ico DESTINATION ${CMAKE_INSTALL_PREFIX}/icons)
8+
ENDIF(MSVC)
9+
10+
# OS X app/doc icons
11+
IF (APPLE)
12+
ADD_SUBDIRECTORY(mac)
13+
ENDIF (APPLE)

mac/cmake/0qgis.cmake.in

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ SET (QLIBXDIR "${QAPPDIR}/@QGIS_LIBEXEC_SUBDIR@")
1616
SET (QDATADIR "${QAPPDIR}/@QGIS_DATA_SUBDIR@")
1717
SET (QPLUGDIR "${QAPPDIR}/@QGIS_PLUGIN_SUBDIR@")
1818
SET (QGISPYDIR "${QAPPDIR}/@QGIS_DATA_SUBDIR@/python")
19+
SET (Q_FWVER @CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@)
1920
# Qt framework version is major version
2021
SET (QT_FWVER @QT_VERSION_MAJOR@)
2122

@@ -25,7 +26,16 @@ SET (ATLOADER "@loader_path")
2526

2627
INCLUDE (@CMAKE_SOURCE_DIR@/cmake/MacBundleMacros.cmake)
2728

28-
FILE (GLOB QGLIBLIST RELATIVE ${QLIBDIR} ${QLIBDIR}/libqgis*.dylib)
29+
# message only if verbose makefiles
30+
FUNCTION (MYMESSAGE MSG)
31+
IF (@CMAKE_VERBOSE_MAKEFILE@)
32+
MESSAGE (STATUS "${MSG}")
33+
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
34+
ENDFUNCTION (MYMESSAGE)
35+
36+
FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR}/qgis*.framework)
37+
# for some reason, REPLACE is stripping list seps
38+
STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST})
2939
FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so)
3040
FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
3141

@@ -36,27 +46,29 @@ FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
3646
IF (@OSX_HAVE_LOADERPATH@)
3747
MESSAGE (STATUS "Updating QGIS library paths...")
3848
# inter-library links - do all combos, many will be noops
39-
FOREACH (QL ${QGLIBLIST})
40-
FOREACH (QLL ${QGLIBLIST})
41-
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL} ${ATLOADER}/${QLL} "${QLIBDIR}/${QL}")
49+
FOREACH (QL ${QGFWLIST})
50+
FOREACH (QLL ${QGFWLIST})
51+
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/../../../${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QFWDIR}/${QL}.framework/${QL}")
4252
ENDFOREACH (QLL)
53+
# libqgispython is not a framework
54+
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QL}.framework/Versions/${Q_FWVER}/${QL} ${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QL}.framework/Versions/${Q_FWVER}/${QL} "${QLIBDIR}/libqgispython.dylib")
4355
ENDFOREACH (QL)
4456
# plugins
4557
FOREACH (QP ${QGPLUGLIST})
46-
FOREACH (QLL ${QGLIBLIST})
47-
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL} ${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${QLL} "${QP}")
58+
FOREACH (QLL ${QGFWLIST})
59+
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QP}")
4860
ENDFOREACH (QLL)
4961
ENDFOREACH (QP)
5062
# qgis python
5163
FOREACH (PG ${QGPYLIST})
52-
FOREACH (QLL ${QGLIBLIST})
53-
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL} ${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${QLL} "${PG}")
64+
FOREACH (QLL ${QGFWLIST})
65+
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${PG}")
5466
ENDFOREACH (QLL)
5567
ENDFOREACH (PG)
5668
# qgis-mapserver
5769
IF (@WITH_MAPSERVER@)
58-
FOREACH (QLL ${QGLIBLIST})
59-
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL} ${ATEXECUTABLE}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${QLL} "${QCGIDIR}/qgis_mapserv.fcgi")
70+
FOREACH (QLL ${QGFWLIST})
71+
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QCGIDIR}/qgis_mapserv.fcgi")
6072
ENDFOREACH (QLL)
6173
ENDIF ()
6274
ENDIF (@OSX_HAVE_LOADERPATH@)

mac/cmake/1qt.cmake.in

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ SET (ATLOADER "@loader_path")
2525

2626
INCLUDE (@CMAKE_SOURCE_DIR@/cmake/MacBundleMacros.cmake)
2727

28+
# message only if verbose makefiles
29+
FUNCTION (MYMESSAGE MSG)
30+
IF (@CMAKE_VERBOSE_MAKEFILE@)
31+
MESSAGE (STATUS "${MSG}")
32+
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
33+
ENDFUNCTION (MYMESSAGE)
34+
2835
# build list of Qt frameworks to bundle
2936

3037
SET (QTLISTQG QtCore QtGui phonon)
@@ -128,14 +135,11 @@ ENDFOREACH (QTC)
128135
MESSAGE (STATUS "Copying Qwt and updating library paths...")
129136
IF (NOT EXISTS "${QLIBDIR}/libqwt.dylib")
130137
EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "@QWT_LIBRARY@" "${QLIBDIR}/libqwt.dylib")
131-
GET_INSTALL_NAME ("@QWT_LIBRARY@" "libqwt" QLIB)
132-
IF (QLIB)
133-
SET (QWT_CHG "${QLIB}")
134-
# default for Qgis and no loader_path
135-
SET (QWT_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/libqwt.dylib")
136-
INSTALLNAMETOOL_CHANGE (${QWT_CHG} ${QWT_CHG_TO} "${QAPPDIR}/Qgis")
137-
ENDIF (QLIB)
138138
ENDIF ()
139+
GET_INSTALL_NAME ("@QWT_LIBRARY@" "libqwt" QLIB)
140+
IF (QLIB)
141+
INSTALLNAMETOOL_CHANGE ("${QLIB}" "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/libqwt.dylib" "${QAPPDIR}/@QGIS_APP_NAME@")
142+
ENDIF (QLIB)
139143

140144
# PyQt
141145

@@ -199,8 +203,11 @@ ENDIF (QWT_CHG)
199203
# don't load plugins from system-installed Qt
200204
FILE (WRITE "${QAPPDIRC}/Resources/qt.conf" "")
201205
FILE (WRITE "${QBINDIR}/qgis_help.app/Contents/Resources/qt.conf" "")
206+
FILE (WRITE "${QBINDIR}/qbrowser.app/Contents/Resources/qt.conf" "")
202207

203-
FILE (GLOB QGLIBLIST ${QLIBDIR}/libqgis*.dylib)
208+
FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR}/qgis*.framework)
209+
# for some reason, REPLACE is stripping list seps
210+
STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST})
204211
FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so)
205212
FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
206213

@@ -215,10 +222,11 @@ FOREACH (QFW ${QTLISTQG})
215222
SET (QFW_CHG "${QQ}")
216223
SET (QFW_CHG_TO "${ATEXECUTABLE}/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
217224
# app - always @executable_path
218-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIR}/Qgis")
219-
# qgis_help - use symlink, even when have loader_path,
225+
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIR}/@QGIS_APP_NAME@")
226+
# qgis_help, qbrowser - use symlink, even when have loader_path,
220227
# applications behave better that way
221228
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QBINDIR}/qgis_help.app/Contents/MacOS/qgis_help")
229+
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QBINDIR}/qbrowser.app/Contents/MacOS/qbrowser")
222230
# qgis-mapserver
223231
IF (@WITH_MAPSERVER@)
224232
IF (@OSX_HAVE_LOADERPATH@)
@@ -228,11 +236,19 @@ FOREACH (QFW ${QTLISTQG})
228236
ENDIF ()
229237
# libs
230238
IF (@OSX_HAVE_LOADERPATH@)
231-
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
239+
SET (QFW_CHG_TO "${ATLOADER}/../../../${QFW}.framework/${QFW}")
232240
ENDIF (@OSX_HAVE_LOADERPATH@)
233-
FOREACH (QL ${QGLIBLIST})
234-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QL}")
241+
FOREACH (QL ${QGFWLIST})
242+
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QFWDIR}/${QL}.framework/${QL}")
235243
ENDFOREACH (QL)
244+
# libqgispython is not a framework
245+
IF (@OSX_HAVE_LOADERPATH@)
246+
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
247+
ENDIF (@OSX_HAVE_LOADERPATH@)
248+
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QLIBDIR}/libqgispython.dylib")
249+
IF (@OSX_HAVE_LOADERPATH@)
250+
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
251+
ENDIF (@OSX_HAVE_LOADERPATH@)
236252
# Qwt
237253
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QLIBDIR}/libqwt.dylib")
238254
# GRASS libexec stuff

0 commit comments

Comments
 (0)