www.pudn.com > ParaView3.rar > CompleteBundle.cmake.in
SET(CMAKE_BACKWARDS_COMPATIBILITY "2.4")
SET(toplevel "@EXECUTABLE_OUTPUT_PATH@/paraview.app")
SET(finaldir "@EXECUTABLE_OUTPUT_PATH@/paraview.app/Contents/MacOS")
SET(dylibdir "@EXECUTABLE_OUTPUT_PATH@")
MAKE_DIRECTORY("${toplevel}/Contents")
MAKE_DIRECTORY("${finaldir}")
MAKE_DIRECTORY("${toplevel}/Contents/Resources")
FIND_PROGRAM(install_name_tool NAMES install_name_tool)
FILE(GLOB libraries RELATIVE "${dylibdir}" "${dylibdir}/*.dylib")
MACRO(__get_qt_library var name libname)
SET(${var} "${name}")
LIST(LENGTH ${var} __get_qt_library_length)
IF(__get_qt_library_length GREATER 1)
LIST(GET ${var} 1 ${var})
ENDIF(__get_qt_library_length GREATER 1)
SET(__get_qt_library_var "${${var}}/Versions/4.0/${libname}")
IF(EXISTS ${__get_qt_library_var})
SET(${var} ${__get_qt_library_var})
ENDIF(EXISTS ${__get_qt_library_var})
ENDMACRO(__get_qt_library)
__get_qt_library(qtcore "@QT_QTCORE_LIBRARY@" QtCore)
__get_qt_library(qtgui "@QT_QTGUI_LIBRARY@" QtGui)
__get_qt_library(qtnetwork "@QT_QTNETWORK_LIBRARY@" QtNetwork)
__get_qt_library(qtxml "@QT_QTXML_LIBRARY@" QtXml)
__get_qt_library(qttest "@QT_QTTEST_LIBRARY@" QtTest)
__get_qt_library(qtuitools "@QT_QTUITOOLS_LIBRARY@" QtUiTools)
SET(qtlibraries ${qtcore} ${qtgui} ${qtnetwork} ${qtxml} ${qttest} ${qtuittools})
MESSAGE("QT libs: ${qtlibraries}")
FOREACH(modlib ${libraries})
# Set the library name and library name without path
SET(modlibname ${modlib})
SET(modlibnamenopath ${modlibname})
IF(EXISTS "${dylibdir}/${modlib}")
SET(modlibname "${dylibdir}/${modlib}")
ELSE(EXISTS "${dylibdir}/${modlib}")
GET_FILENAME_COMPONENT(modlibnamenopath "${modlib}" NAME)
ENDIF(EXISTS "${dylibdir}/${modlib}")
MESSAGE("Copy: ${modlibname} to the bundle: ${finaldir}/${modlibnamenopath}")
# Copy the library to the bundle
CONFIGURE_FILE("${modlibname}" "${finaldir}/${modlibnamenopath}" COPYONLY IMMEDIATE)
# Setup the install names
EXECUTE_PROCESS(COMMAND "${install_name_tool}"
"${finaldir}/paraview" -change "${modlibname}" "@executable_path/${modlibnamenopath}")
EXECUTE_PROCESS(COMMAND "${install_name_tool}"
"${finaldir}/${modlibnamenopath}" -id "@executable_path/${modlibnamenopath}")
FOREACH(inlibname ${libraries})
EXECUTE_PROCESS(COMMAND "${install_name_tool}"
"${finaldir}/${modlibnamenopath}" -change "${dylibdir}/${inlibname}" "@executable_path/${inlibname}")
ENDFOREACH(inlibname)
ENDFOREACH(modlib)