From cb73f3381f76cdca403295b6926874efa9008495 Mon Sep 17 00:00:00 2001 From: Larry Shaffer Date: Fri, 20 Feb 2015 15:48:17 -0700 Subject: [PATCH] Update Mac bundling for qgis_server lib --- cmake/MacBundleMacros.cmake | 6 +++++- mac/cmake/0qgis.cmake.in | 5 +++++ src/server/CMakeLists.txt | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/cmake/MacBundleMacros.cmake b/cmake/MacBundleMacros.cmake index e9bfd7bf23e1..6bb989382df9 100644 --- a/cmake/MacBundleMacros.cmake +++ b/cmake/MacBundleMacros.cmake @@ -133,11 +133,12 @@ FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO) FOREACH (QL ${QGFWLIST}) INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QFWDIR}/${QL}.framework/${QL}") ENDFOREACH (QL) - # libqgispython is not a framework + # libqgispython and libqgis_server are not frameworks IF (${OSX_HAVE_LOADERPATH}) SET (LIB_CHG_TO "${ATLOADER}/${QGIS_LIB_SUBDIR_REV}/${LIBMID}/${LIBPOST}") ENDIF () INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBDIR}/libqgispython.dylib") + INSTALLNAMETOOL_CHANGE ("${LIBFROM}" "${LIB_CHG_TO}" "${QLIBDIR}/libqgis_server.dylib") # crssync IF (${OSX_HAVE_LOADERPATH}) SET (LIB_CHG_TO "${ATEXECUTABLE}/${QGIS_LIBEXEC_SUBDIR_REV}/${LIBMID}/${LIBPOST}") @@ -200,6 +201,9 @@ ENDFOREACH (QARCH) FILE (GLOB QGFWLIST RELATIVE "${QFWDIR}" "${QFWDIR}/qgis*.framework") # for some reason, REPLACE is stripping list seps STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST}) +# don't collect any library symlinks, limit to versioned libs +SET (Q_LIBVER ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}) +FILE (GLOB QGLIBLIST RELATIVE "${QLIBDIR}" "${QLIBDIR}/libqgis*.${Q_LIBVER}*.dylib") FILE (GLOB QGPLUGLIST "${QPLUGDIR}/*.so") FILE (GLOB QGPYLIST "${QGISPYDIR}/qgis/*.so") FILE (GLOB QGAPPLIST RELATIVE "${QBINDIR}" "${QBINDIR}/q*.app") diff --git a/mac/cmake/0qgis.cmake.in b/mac/cmake/0qgis.cmake.in index ae66f4839618..cd5ec80b7f2c 100644 --- a/mac/cmake/0qgis.cmake.in +++ b/mac/cmake/0qgis.cmake.in @@ -25,4 +25,9 @@ IF (@OSX_HAVE_LOADERPATH@) EXECUTE_PROCESS(COMMAND install_name_tool -id "${ATEXECUTABLE}/${QGIS_FW_SUBDIR}/${QL}.framework/${QL}" "${QFWDIR}/${QL}.framework/${QL}") ENDIF () ENDFOREACH (QL) + FOREACH (QLIB ${QGLIBLIST}) + GET_INSTALL_NAME ("${QLIBDIR}/${QLIB}" ${QLIB} QQ) + SET (QLIB_CHG "${QQ}") + UPDATEQGISPATHS ("${QLIB_CHG}" ${QLIB}) + ENDFOREACH (QLIB) ENDIF (@OSX_HAVE_LOADERPATH@) diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index fe0bec1d3f29..d68385da9d24 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -109,6 +109,10 @@ TARGET_LINK_LIBRARIES(qgis_server ${GDAL_LIBRARY} ) +IF (APPLE) + SET_TARGET_PROPERTIES(qgis_server PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE) +ENDIF (APPLE) + IF (WITH_SERVER_PLUGINS) # install