@@ -31,20 +31,26 @@ ENDFUNCTION (MYMESSAGE)
31
31
# regex stuff taken from GetPrerequisites
32
32
33
33
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 ()
42
46
ENDFUNCTION (GET_INSTALL_NAME )
43
47
44
48
# install_name_tool -change CHANGE CHANGETO CHANGEBIN
45
49
46
50
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 ()
48
54
ENDFUNCTION (INSTALLNAMETOOL_CHANGE )
49
55
50
56
# copy a framework, only specified archs, current version, debug dep on CMAKE_BUILD_TYPE
@@ -59,22 +65,24 @@ FUNCTION (COPY_FRAMEWORK FWPREFIX FWNAME FWDEST)
59
65
OUTPUT_VARIABLE FWDIRPHYS
60
66
)
61
67
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 ()
78
86
ENDIF ()
79
87
ENDIF ()
80
88
ENDFUNCTION (COPY_FRAMEWORK )
@@ -95,16 +103,17 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
95
103
ENDIF ()
96
104
SET (LIB_CHG_TO "${ATEXECUTABLE} /${LIBMID} /${LIBPOST} " )
97
105
# 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 )
102
111
# qgis-mapserver
103
112
IF (${WITH_MAPSERVER} )
104
113
IF (${OSX_HAVE_LOADERPATH} )
105
114
SET (LIB_CHG_TO "${ATEXECUTABLE} /${QGIS_CGIBIN_SUBDIR_REV} /${LIBMID} /${LIBPOST} " )
106
115
ENDIF ()
107
- INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR} /qgis_mapserv.fcgi" )
116
+ INSTALLNAMETOOL_CHANGE (" ${LIBFROM} " " ${LIB_CHG_TO} " "${QCGIDIR} /qgis_mapserv.fcgi" )
108
117
ENDIF ()
109
118
# libs
110
119
IF (${OSX_HAVE_LOADERPATH} )
@@ -116,40 +125,40 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
116
125
ENDIF ()
117
126
ENDIF ()
118
127
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} " )
120
129
ENDFOREACH (QL )
121
130
# libqgispython is not a framework
122
131
IF (${OSX_HAVE_LOADERPATH} )
123
132
SET (LIB_CHG_TO "${ATLOADER} /${QGIS_LIB_SUBDIR_REV} /${LIBMID} /${LIBPOST} " )
124
133
ENDIF ()
125
- INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBDIR} /libqgispython.dylib" )
134
+ INSTALLNAMETOOL_CHANGE (" ${LIBFROM} " " ${LIB_CHG_TO} " "${QLIBDIR} /libqgispython.dylib" )
126
135
# GRASS libexec stuff
127
136
IF (EXISTS "${QLIBXDIR} /grass/bin/qgis.g.browser" )
128
137
IF (${OSX_HAVE_LOADERPATH} )
129
138
SET (LIB_CHG_TO "${ATLOADER} /../../${QGIS_LIBEXEC_SUBDIR_REV} /${LIBMID} /${LIBPOST} " )
130
139
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" )
132
141
ENDIF ()
133
142
# plugins
134
143
IF (${OSX_HAVE_LOADERPATH} )
135
144
SET (LIB_CHG_TO "${ATLOADER} /${QGIS_PLUGIN_SUBDIR_REV} /${LIBMID} /${LIBPOST} " )
136
145
ENDIF ()
137
146
FOREACH (QP ${QGPLUGLIST} )
138
- INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP} " )
147
+ INSTALLNAMETOOL_CHANGE (" ${LIBFROM} " " ${LIB_CHG_TO} " "${QP} " )
139
148
ENDFOREACH (QP )
140
149
# qgis python
141
150
IF (${OSX_HAVE_LOADERPATH} )
142
151
SET (LIB_CHG_TO "${ATLOADER} /../../${QGIS_DATA_SUBDIR_REV} /${LIBMID} /${LIBPOST} " )
143
152
ENDIF ()
144
153
FOREACH (PG ${QGPYLIST} )
145
- INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG} " )
154
+ INSTALLNAMETOOL_CHANGE (" ${LIBFROM} " " ${LIB_CHG_TO} " "${PG} " )
146
155
ENDFOREACH (PG )
147
156
# bin - nothing yet
148
157
#IF (${OSX_HAVE_LOADERPATH})
149
158
# SET (LIB_CHG_TO "${ATLOADER}/${QGIS_BIN_SUBDIR_REV}/${LIBMID}/${LIBPOST}")
150
159
#ENDIF ()
151
160
#FOREACH (PB ...)
152
- # INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}")
161
+ # INSTALLNAMETOOL_CHANGE (" ${LIBFROM}" " ${LIB_CHG_TO}" "${QBINDIR}/${PB}")
153
162
#ENDFOREACH (PB)
154
163
ENDIF (LIBFROM )
155
164
ENDFUNCTION (UPDATEQGISPATHS )
@@ -177,8 +186,10 @@ FOREACH (QARCH ${CMAKE_OSX_ARCHITECTURES})
177
186
ENDFOREACH (QARCH )
178
187
179
188
# common file lists
180
- FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR} /qgis*.framework )
189
+ FILE (GLOB QGFWLIST RELATIVE " ${QFWDIR} " " ${QFWDIR} /qgis*.framework" )
181
190
# for some reason, REPLACE is stripping list seps
182
191
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