QGIS/cmake/MacBundleMacros.cmake
kyngchaos 8279b54778 fix bundling for latest cmake
git-svn-id: http://svn.osgeo.org/qgis/trunk@14612 c8812cc2-4d05-0410-92ff-de0c093fc19c
2010-11-13 17:56:09 +00:00

36 lines
1.2 KiB
CMake

# Mac Bundle Macros
# BundleUtilities has functions to bundle and fixup libraries into an
# application package, but it's all-or-nothing and is missing some features:
#
# - @loader_path
# - helper functions can't get install_name, just dependencies
# get the install_name of a library or framework
# regex stuff taken from GetPrerequisites
FUNCTION (GET_INSTALL_NAME LIBFILE LIBNAME OUTVAR)
EXECUTE_PROCESS (COMMAND otool -D "${LIBFILE}" OUTPUT_VARIABLE iname_out)
STRING (REGEX REPLACE ".*:\n" "" iname "${iname_out}")
IF (iname)
# trim it
STRING (REGEX MATCH "[^\n ].*[^\n ]" iname "${iname}")
SET (${OUTVAR} ${iname} PARENT_SCOPE)
ENDIF (iname)
ENDFUNCTION (GET_INSTALL_NAME)
# message only if verbose makefiles
FUNCTION (MYMESSAGE MSG)
IF (@CMAKE_VERBOSE_MAKEFILE@)
MESSAGE (STATUS "${MSG}")
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
ENDFUNCTION (MYMESSAGE)
# install_name_tool -change CHANGE CHANGETO CHANGEBIN
FUNCTION (INSTALLNAMETOOL_CHANGE CHANGE CHANGETO CHANGEBIN)
MYMESSAGE ("install_name_tool -change ${CHANGE} ${CHANGETO} \"${CHANGEBIN}\"")
EXECUTE_PROCESS (COMMAND install_name_tool -change ${CHANGE} ${CHANGETO} "${CHANGEBIN}")
ENDFUNCTION (INSTALLNAMETOOL_CHANGE)