Skip to content

Commit d169b5a

Browse files
committedDec 26, 2011
more quoting in case there are empty variables, and tests for existence of files before executing commands
1 parent 5d08c8b commit d169b5a

File tree

4 files changed

+47
-41
lines changed

4 files changed

+47
-41
lines changed
 

‎cmake/MacBundleMacros.cmake

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,18 @@
1010
# regex stuff taken from GetPrerequisites
1111

1212
FUNCTION (GET_INSTALL_NAME LIBFILE LIBNAME OUTVAR)
13-
EXECUTE_PROCESS (COMMAND otool -L "${LIBFILE}" OUTPUT_VARIABLE iname_out)
14-
# remove 1st line, it's just path to lib file
15-
STRING (REGEX REPLACE ".*:\n" "" iname "${iname_out}")
16-
IF (iname)
17-
# find libname
18-
STRING (REGEX MATCH "[^\n\t ]*${LIBNAME}[^\n ]*" iname "${iname}")
19-
ENDIF (iname)
20-
SET (${OUTVAR} ${iname} PARENT_SCOPE)
13+
IF (EXISTS "${LIBFILE}")
14+
EXECUTE_PROCESS (COMMAND otool -L "${LIBFILE}" OUTPUT_VARIABLE iname_out)
15+
# remove 1st line, it's just path to lib file
16+
STRING (REGEX REPLACE ".*:\n" "" iname "${iname_out}")
17+
IF (iname)
18+
# find libname
19+
STRING (REGEX MATCH "[^\n\t ]*${LIBNAME}[^\n ]*" iname "${iname}")
20+
ENDIF (iname)
21+
SET (${OUTVAR} ${iname} PARENT_SCOPE)
22+
ELSE ()
23+
SET (${OUTVAR} "" PARENT_SCOPE)
24+
ENDIF ()
2125
ENDFUNCTION (GET_INSTALL_NAME)
2226

2327
# message only if verbose makefiles
@@ -31,6 +35,8 @@ ENDFUNCTION (MYMESSAGE)
3135
# install_name_tool -change CHANGE CHANGETO CHANGEBIN
3236

3337
FUNCTION (INSTALLNAMETOOL_CHANGE CHANGE CHANGETO CHANGEBIN)
34-
MYMESSAGE ("install_name_tool -change ${CHANGE} ${CHANGETO} \"${CHANGEBIN}\"")
35-
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
38+
IF (EXISTS "${CHANGEBIN}" AND CHANGE AND CHANGETO)
39+
MYMESSAGE ("install_name_tool -change ${CHANGE} ${CHANGETO} \"${CHANGEBIN}\"")
40+
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
41+
ENDIF ()
3642
ENDFUNCTION (INSTALLNAMETOOL_CHANGE)

‎mac/cmake/1qt.cmake.in

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ IF (NOT EXISTS "${QLIBDIR}/libqwt.dylib")
133133
SET (QWT_CHG "${QLIB}")
134134
# default for Qgis and no loader_path
135135
SET (QWT_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/libqwt.dylib")
136-
INSTALLNAMETOOL_CHANGE (${QWT_CHG} ${QWT_CHG_TO} "${QAPPDIR}/Qgis")
136+
INSTALLNAMETOOL_CHANGE ("${QWT_CHG}" "${QWT_CHG_TO}" "${QAPPDIR}/Qgis")
137137
ENDIF (QLIB)
138138
ENDIF ()
139139

@@ -192,7 +192,7 @@ IF (QWT_CHG)
192192
SET (QWT_CHG_TO "${ATLOADER}/../../../@QGIS_DATA_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/libqwt.dylib")
193193
ENDIF (@OSX_HAVE_LOADERPATH@ AND QWT_CHG)
194194
FOREACH (PW _iqt;Qwt)
195-
INSTALLNAMETOOL_CHANGE (${QWT_CHG} ${QWT_CHG_TO} "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
195+
INSTALLNAMETOOL_CHANGE ("${QWT_CHG}" "${QWT_CHG_TO}" "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
196196
ENDFOREACH (PW)
197197
ENDIF (QWT_CHG)
198198

@@ -215,74 +215,74 @@ FOREACH (QFW ${QTLISTQG})
215215
SET (QFW_CHG "${QQ}")
216216
SET (QFW_CHG_TO "${ATEXECUTABLE}/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
217217
# app - always @executable_path
218-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIR}/Qgis")
218+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIR}/Qgis")
219219
# qgis_help - use symlink, even when have loader_path,
220220
# applications behave better that way
221-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QBINDIR}/qgis_help.app/Contents/MacOS/qgis_help")
221+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QBINDIR}/qgis_help.app/Contents/MacOS/qgis_help")
222222
# qgis-mapserver
223223
IF (@WITH_MAPSERVER@)
224224
IF (@OSX_HAVE_LOADERPATH@)
225225
SET (QFW_CHG_TO "${ATEXECUTABLE}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
226226
ENDIF (@OSX_HAVE_LOADERPATH@)
227-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi")
227+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QCGIDIR}/qgis_mapserv.fcgi")
228228
ENDIF ()
229229
# libs
230230
IF (@OSX_HAVE_LOADERPATH@)
231231
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
232232
ENDIF (@OSX_HAVE_LOADERPATH@)
233233
FOREACH (QL ${QGLIBLIST})
234-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QL}")
234+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QL}")
235235
ENDFOREACH (QL)
236236
# Qwt
237-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QLIBDIR}/libqwt.dylib")
237+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QLIBDIR}/libqwt.dylib")
238238
# GRASS libexec stuff
239239
IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser")
240240
IF (@OSX_HAVE_LOADERPATH@)
241241
SET (QFW_CHG_TO "${ATLOADER}/../../@QGIS_LIBEXEC_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
242242
ENDIF (@OSX_HAVE_LOADERPATH@)
243-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser")
243+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QLIBXDIR}/grass/bin/qgis.g.browser")
244244
ENDIF ()
245245
# plugins
246246
IF (@OSX_HAVE_LOADERPATH@)
247247
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
248248
ENDIF (@OSX_HAVE_LOADERPATH@)
249249
FOREACH (QP ${QGPLUGLIST})
250-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QP}")
250+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QP}")
251251
ENDFOREACH (QP)
252252
# qt plugs - same relative path
253-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/imageformats/libqjpeg.dylib")
253+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/imageformats/libqjpeg.dylib")
254254
FOREACH (QC cn;jp;kr;tw)
255-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/codecs/libq${QC}codecs.dylib")
255+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/codecs/libq${QC}codecs.dylib")
256256
ENDFOREACH (QC)
257-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/sqldrivers/libqsqlite.dylib")
257+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/sqldrivers/libqsqlite.dylib")
258258
# qt fw
259259
IF (@OSX_HAVE_LOADERPATH@)
260260
SET (QFW_CHG_TO "${ATLOADER}/../../../${QFW}.framework/${QFW}")
261261
ENDIF (@OSX_HAVE_LOADERPATH@)
262262
FOREACH (QF ${QTLISTQG})
263-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QFWDIR}/${QF}.framework/${QF}")
263+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QFWDIR}/${QF}.framework/${QF}")
264264
ENDFOREACH (QF)
265265
# PyQt
266266
IF (@OSX_HAVE_LOADERPATH@)
267267
SET (QFW_CHG_TO "${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
268268
ENDIF (@OSX_HAVE_LOADERPATH@)
269269
FOREACH (PQ ${PYQTLIST})
270-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QGISPYDIR}/PyQt${QT_FWVER}/${PQ}.so")
270+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QGISPYDIR}/PyQt${QT_FWVER}/${PQ}.so")
271271
ENDFOREACH (PQ)
272272
# qgis python
273273
FOREACH (PG ${QGPYLIST})
274-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${PG}")
274+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${PG}")
275275
ENDFOREACH (PG)
276276
# PyQwt
277277
IF (@OSX_HAVE_LOADERPATH@)
278278
SET (QFW_CHG_TO "${ATLOADER}/../../../@QGIS_DATA_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
279279
ENDIF (@OSX_HAVE_LOADERPATH@)
280280
FOREACH (PW _iqt;Qwt)
281-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
281+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
282282
ENDFOREACH (PW)
283283
# bin - PyQt utils
284284
SET (QFW_CHG_TO "${ATEXECUTABLE}/@QGIS_BIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QFW}.framework/${QFW}")
285285
FOREACH (PB pylupdate4;pyrcc4)
286-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QBINDIR}/${PB}")
286+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QBINDIR}/${PB}")
287287
ENDFOREACH (PB)
288288
ENDFOREACH (QFW)

‎mac/cmake/2lib.cmake.in

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,49 +33,49 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
3333
IF (LIBFROM)
3434
SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/${LIBTO}")
3535
# app - always @executable_path
36-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QAPPDIR}/Qgis")
36+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QAPPDIR}/Qgis")
3737
# qgis_help - doesn't link anything else than Qt/Qgis
3838
# qgis-mapserver
3939
IF (@WITH_MAPSERVER@)
4040
IF (@OSX_HAVE_LOADERPATH@)
4141
SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
4242
ENDIF (@OSX_HAVE_LOADERPATH@)
43-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi")
43+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QCGIDIR}/qgis_mapserv.fcgi")
4444
ENDIF ()
4545
# libs
4646
IF (@OSX_HAVE_LOADERPATH@)
4747
SET (LIB_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
4848
ENDIF (@OSX_HAVE_LOADERPATH@)
4949
FOREACH (QL ${QGLIBLIST})
50-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QL}")
50+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QL}")
5151
ENDFOREACH (QL)
5252
# GRASS libexec stuff
5353
#IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser")
5454
# IF (@OSX_HAVE_LOADERPATH@)
5555
# SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_LIBEXEC_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
5656
# ENDIF (@OSX_HAVE_LOADERPATH@)
57-
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser")
57+
# INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBXDIR}/grass/bin/qgis.g.browser")
5858
#ENDIF ()
5959
# plugins
6060
IF (@OSX_HAVE_LOADERPATH@)
6161
SET (LIB_CHG_TO "${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
6262
ENDIF (@OSX_HAVE_LOADERPATH@)
6363
FOREACH (QP ${QGPLUGLIST})
64-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP}")
64+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QP}")
6565
ENDFOREACH (QP)
6666
# qgis python
6767
IF (@OSX_HAVE_LOADERPATH@)
6868
SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
6969
ENDIF (@OSX_HAVE_LOADERPATH@)
7070
FOREACH (PG ${QGPYLIST})
71-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG}")
71+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${PG}")
7272
ENDFOREACH (PG)
7373
# bin - nothing yet
7474
#IF (@OSX_HAVE_LOADERPATH@)
7575
# SET (LIB_CHG_TO "${ATLOADER}/@QGIS_BIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
7676
#ENDIF (@OSX_HAVE_LOADERPATH@)
7777
#FOREACH (PB ...)
78-
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}")
78+
# INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QBINDIR}/${PB}")
7979
#ENDFOREACH (PB)
8080
ENDIF (LIBFROM)
8181
ENDFUNCTION (UPDATEQGISPATHS)

‎mac/cmake/3fw.cmake.in

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,49 +31,49 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO)
3131
IF (LIBFROM)
3232
SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/${LIBTO}")
3333
# app - always @executable_path
34-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QAPPDIR}/Qgis")
34+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QAPPDIR}/Qgis")
3535
# qgis_help - doesn't link anything else than Qt/Qgis
3636
# qgis-mapserver
3737
IF (@WITH_MAPSERVER@)
3838
IF (@OSX_HAVE_LOADERPATH@)
3939
SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
4040
ENDIF (@OSX_HAVE_LOADERPATH@)
41-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi")
41+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QCGIDIR}/qgis_mapserv.fcgi")
4242
ENDIF ()
4343
# libs
4444
IF (@OSX_HAVE_LOADERPATH@)
4545
SET (LIB_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
4646
ENDIF (@OSX_HAVE_LOADERPATH@)
4747
FOREACH (QL ${QGLIBLIST})
48-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QL}")
48+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QL}")
4949
ENDFOREACH (QL)
5050
# GRASS libexec stuff
5151
#IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser")
5252
# IF (@OSX_HAVE_LOADERPATH@)
5353
# SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_LIBEXEC_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
5454
# ENDIF (@OSX_HAVE_LOADERPATH@)
55-
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser")
55+
# INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBXDIR}/grass/bin/qgis.g.browser")
5656
#ENDIF ()
5757
# plugins
5858
IF (@OSX_HAVE_LOADERPATH@)
5959
SET (LIB_CHG_TO "${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
6060
ENDIF (@OSX_HAVE_LOADERPATH@)
6161
FOREACH (QP ${QGPLUGLIST})
62-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP}")
62+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QP}")
6363
ENDFOREACH (QP)
6464
# qgis python
6565
IF (@OSX_HAVE_LOADERPATH@)
6666
SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
6767
ENDIF (@OSX_HAVE_LOADERPATH@)
6868
FOREACH (PG ${QGPYLIST})
69-
INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG}")
69+
INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${PG}")
7070
ENDFOREACH (PG)
7171
# bin - nothing yet
7272
#IF (@OSX_HAVE_LOADERPATH@)
7373
# SET (LIB_CHG_TO "${ATLOADER}/@QGIS_BIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}")
7474
#ENDIF (@OSX_HAVE_LOADERPATH@)
7575
#FOREACH (PB ...)
76-
# INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}")
76+
# INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QBINDIR}/${PB}")
7777
#ENDFOREACH (PB)
7878
ENDIF (LIBFROM)
7979
ENDFUNCTION (UPDATEQGISPATHS)

0 commit comments

Comments
 (0)
Please sign in to comment.