# 2lib - bundle shared libraries (but not standard frameworks) # ! cmakecache vars not available to external scripts # so we configure it first to do substitutions # make sure to use @varname@ # for now, just libs not available as frameworks # libpq # libfcgi (non-system) # kill boolean warnings CMAKE_POLICY (SET CMP0012 NEW) SET (QAPPDIRC "$ENV{DESTDIR}@QGIS_MACAPP_PREFIX@") SET (QAPPDIR "$ENV{DESTDIR}@CMAKE_INSTALL_PREFIX@") SET (QFWDIR "${QAPPDIR}/@QGIS_FW_SUBDIR@") SET (QBINDIR "${QAPPDIR}/@QGIS_BIN_SUBDIR@") SET (QCGIDIR "${QAPPDIR}/@QGIS_CGIBIN_SUBDIR@") SET (QLIBDIR "${QAPPDIR}/@QGIS_LIB_SUBDIR@") SET (QLIBXDIR "${QAPPDIR}/@QGIS_LIBEXEC_SUBDIR@") SET (QDATADIR "${QAPPDIR}/@QGIS_DATA_SUBDIR@") SET (QPLUGDIR "${QAPPDIR}/@QGIS_PLUGIN_SUBDIR@") SET (QGISPYDIR "${QAPPDIR}/@QGIS_DATA_SUBDIR@/python") # Qt framework version is major version SET (QT_FWVER @QT_VERSION_MAJOR@) # so config-file doesn't try to replace @ SET (ATEXECUTABLE "@executable_path") SET (ATLOADER "@loader_path") INCLUDE (@CMAKE_SOURCE_DIR@/cmake/MacBundleMacros.cmake) FUNCTION (UPDATEQGISPATHS LIBFROM LIBTO) IF (LIBFROM) SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/${LIBTO}") # app - always @executable_path INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QAPPDIR}/Qgis") # qgis_help - doesn't link anything else than Qt/Qgis # qgis-mapserver IF (@WITH_MAPSERVER@) IF (@OSX_HAVE_LOADERPATH@) SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") ENDIF (@OSX_HAVE_LOADERPATH@) INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QCGIDIR}/qgis_mapserv.fcgi") ENDIF () # libs IF (@OSX_HAVE_LOADERPATH@) SET (LIB_CHG_TO "${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") ENDIF (@OSX_HAVE_LOADERPATH@) FOREACH (QL ${QGLIBLIST}) INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QL}") ENDFOREACH (QL) # GRASS libexec stuff #IF (EXISTS "${QLIBXDIR}/grass/bin/qgis.g.browser") # IF (@OSX_HAVE_LOADERPATH@) # SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_LIBEXEC_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") # ENDIF (@OSX_HAVE_LOADERPATH@) # INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QLIBXDIR}/grass/bin/qgis.g.browser") #ENDIF () # plugins IF (@OSX_HAVE_LOADERPATH@) SET (LIB_CHG_TO "${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") ENDIF (@OSX_HAVE_LOADERPATH@) FOREACH (QP ${QGPLUGLIST}) INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QP}") ENDFOREACH (QP) # qgis python IF (@OSX_HAVE_LOADERPATH@) SET (LIB_CHG_TO "${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") ENDIF (@OSX_HAVE_LOADERPATH@) FOREACH (PG ${QGPYLIST}) INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${PG}") ENDFOREACH (PG) # bin - nothing yet #IF (@OSX_HAVE_LOADERPATH@) # SET (LIB_CHG_TO "${ATLOADER}/@QGIS_BIN_SUBDIR_REV@/@QGIS_LIB_SUBDIR@/${LIBTO}") #ENDIF (@OSX_HAVE_LOADERPATH@) #FOREACH (PB ...) # INSTALLNAMETOOL_CHANGE (${LIBFROM} ${LIB_CHG_TO} "${QBINDIR}/${PB}") #ENDFOREACH (PB) ENDIF (LIBFROM) ENDFUNCTION (UPDATEQGISPATHS) # arches FOREACH (QARCH @CMAKE_OSX_ARCHITECTURES@) SET (QARCHS ${QARCHS} "--arch" "${QARCH}") ENDFOREACH (QARCH) FILE (GLOB QGLIBLIST ${QLIBDIR}/libqgis*.dylib) FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so) FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so) # Postgres IF (@POSTGRES_LIBRARY@ MATCHES ".*libpq.dylib") MESSAGE (STATUS "Copying libpq and updating library paths...") MYMESSAGE ("ditto ${QARCHS} \"@POSTGRES_LIBRARY@\" \"${QLIBDIR}/libpq.dylib\"") EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "@POSTGRES_LIBRARY@" "${QLIBDIR}/libpq.dylib") GET_INSTALL_NAME ("@POSTGRES_LIBRARY@" "libpq" PQLIB) UPDATEQGISPATHS (${PQLIB} libpq.dylib) # may have been built with libintl GET_INSTALL_NAME ("@POSTGRES_LIBRARY@" "libintl" INTLLIB) IF (INTLLIB) EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "${INTLLIB}" "${QLIBDIR}/libintl.dylib") SET (LIB_CHG_TO "${ATEXECUTABLE}/@QGIS_LIB_SUBDIR@/libintl.dylib") IF (@OSX_HAVE_LOADERPATH@) SET (LIB_CHG_TO "${ATLOADER}/libintl.dylib") ENDIF (@OSX_HAVE_LOADERPATH@) INSTALLNAMETOOL_CHANGE (${INTLLIB} ${LIB_CHG_TO} "${QLIBDIR}/libpq.dylib") ENDIF (INTLLIB) ENDIF () # libfcgi (non-system) IF (@FCGI_LIBRARY@ MATCHES ".*libfcgi.dylib" AND NOT @FCGI_LIBRARY@ MATCHES "/usr/lib/.*") MESSAGE (STATUS "Copying libfcgi and updating library paths...") MYMESSAGE ("ditto ${QARCHS} \"@FCGI_LIBRARY@\" \"${QLIBDIR}/libfcgi.dylib\"") EXECUTE_PROCESS (COMMAND ditto ${QARCHS} "@FCGI_LIBRARY@" "${QLIBDIR}/libfcgi.dylib") GET_INSTALL_NAME ("@FCGI_LIBRARY@" "libfcgi" FCGILIB) UPDATEQGISPATHS (${FCGILIB} libfcgi.dylib) ENDIF ()