Skip to content

Commit 5ed3977

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

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed
 

‎cmake/MacBundleMacros.cmake

Lines changed: 15 additions & 9 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

‎mac/cmake/1qt.cmake.in

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,40 +161,40 @@ FOREACH (QFW ${QTLISTQG})
161161
IF (@OSX_HAVE_LOADERPATH@)
162162
SET (QFW_CHG_TO "${ATLOADER}/${QGIS_LIB_SUBDIR_REV}/${QGIS_FW_SUBDIR}/${LIBPOST}")
163163
ENDIF ()
164-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QLIBDIR}/libqwt.dylib")
164+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QLIBDIR}/libqwt.dylib")
165165
# qt plugs
166166
IF (@OSX_HAVE_LOADERPATH@)
167167
SET (QFW_CHG_TO "${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/${QGIS_FW_SUBDIR}/${LIBPOST}")
168168
ENDIF ()
169-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/imageformats/libqjpeg.dylib")
169+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/imageformats/libqjpeg.dylib")
170170
FOREACH (QC cn;jp;kr;tw)
171-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/codecs/libq${QC}codecs.dylib")
171+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/codecs/libq${QC}codecs.dylib")
172172
ENDFOREACH (QC)
173-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QAPPDIRC}/PlugIns/sqldrivers/libqsqlite.dylib")
173+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QAPPDIRC}/PlugIns/sqldrivers/libqsqlite.dylib")
174174
# qt fw
175175
IF (@OSX_HAVE_LOADERPATH@)
176176
SET (QFW_CHG_TO "${ATLOADER}/../../../${LIBPOST}")
177177
ENDIF ()
178178
FOREACH (QF ${QTLISTQG})
179-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QFWDIR}/${QF}.framework/${QF}")
179+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QFWDIR}/${QF}.framework/${QF}")
180180
ENDFOREACH (QF)
181181
# PyQt
182182
IF (@OSX_HAVE_LOADERPATH@)
183183
SET (QFW_CHG_TO "${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/${QGIS_FW_SUBDIR}/${LIBPOST}")
184184
ENDIF ()
185185
FOREACH (PQ ${PYQTLIST})
186-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QGISPYDIR}/PyQt${QT_FWVER}/${PQ}.so")
186+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QGISPYDIR}/PyQt${QT_FWVER}/${PQ}.so")
187187
ENDFOREACH (PQ)
188188
# PyQwt
189189
IF (@OSX_HAVE_LOADERPATH@)
190190
SET (QFW_CHG_TO "${ATLOADER}/../../../@QGIS_DATA_SUBDIR_REV@/${QGIS_FW_SUBDIR}/${LIBPOST}")
191191
ENDIF ()
192192
FOREACH (PW _iqt;Qwt)
193-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
193+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QGISPYDIR}/PyQt${QT_FWVER}/Qwt5/${PW}.so")
194194
ENDFOREACH (PW)
195195
# bin - PyQt utils
196196
SET (QFW_CHG_TO "${ATEXECUTABLE}/@QGIS_BIN_SUBDIR_REV@/${QGIS_FW_SUBDIR}/${LIBPOST}")
197197
FOREACH (PB pylupdate4;pyrcc4)
198-
INSTALLNAMETOOL_CHANGE (${QFW_CHG} ${QFW_CHG_TO} "${QBINDIR}/${PB}")
198+
INSTALLNAMETOOL_CHANGE ("${QFW_CHG}" "${QFW_CHG_TO}" "${QBINDIR}/${PB}")
199199
ENDFOREACH (PB)
200200
ENDFOREACH (QFW)

0 commit comments

Comments
 (0)
Please sign in to comment.