mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
75 lines
3.4 KiB
CMake
75 lines
3.4 KiB
CMake
# 0qgis - fixup install_names for @loader_path
|
|
# ! cmakecache vars not available to external scripts
|
|
# so we configure it first to do substitutions
|
|
# make sure to use @varname@
|
|
|
|
# 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")
|
|
SET (Q_FWVER @CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@)
|
|
# 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)
|
|
|
|
# message only if verbose makefiles
|
|
FUNCTION (MYMESSAGE MSG)
|
|
IF (@CMAKE_VERBOSE_MAKEFILE@)
|
|
MESSAGE (STATUS "${MSG}")
|
|
ENDIF (@CMAKE_VERBOSE_MAKEFILE@)
|
|
ENDFUNCTION (MYMESSAGE)
|
|
|
|
FILE (GLOB QGFWLIST RELATIVE ${QFWDIR} ${QFWDIR}/qgis*.framework)
|
|
# for some reason, REPLACE is stripping list seps
|
|
STRING(REPLACE ".framework" ";" QGFWLIST ${QGFWLIST})
|
|
FILE (GLOB QGPLUGLIST ${QPLUGDIR}/*.so)
|
|
FILE (GLOB QGPYLIST ${QGISPYDIR}/qgis/*.so)
|
|
|
|
# assume all install_names start with CMAKE_INSTALL_NAME_DIR
|
|
# so we don't have to extract it from binaries
|
|
# leave main qgis executable and qgis_help with executable_paths
|
|
|
|
IF (@OSX_HAVE_LOADERPATH@)
|
|
MESSAGE (STATUS "Updating QGIS library paths...")
|
|
# inter-library links - do all combos, many will be noops
|
|
FOREACH (QL ${QGFWLIST})
|
|
FOREACH (QLL ${QGFWLIST})
|
|
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/../../../${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QFWDIR}/${QL}.framework/${QL}")
|
|
ENDFOREACH (QLL)
|
|
# libqgispython is not a framework
|
|
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QL}.framework/Versions/${Q_FWVER}/${QL} ${ATLOADER}/@QGIS_LIB_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QL}.framework/Versions/${Q_FWVER}/${QL} "${QLIBDIR}/libqgispython.dylib")
|
|
ENDFOREACH (QL)
|
|
# plugins
|
|
FOREACH (QP ${QGPLUGLIST})
|
|
FOREACH (QLL ${QGFWLIST})
|
|
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/@QGIS_PLUGIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QP}")
|
|
ENDFOREACH (QLL)
|
|
ENDFOREACH (QP)
|
|
# qgis python
|
|
FOREACH (PG ${QGPYLIST})
|
|
FOREACH (QLL ${QGFWLIST})
|
|
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/../../@QGIS_DATA_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${PG}")
|
|
ENDFOREACH (QLL)
|
|
ENDFOREACH (PG)
|
|
# qgis-mapserver
|
|
IF (@WITH_MAPSERVER@)
|
|
FOREACH (QLL ${QGFWLIST})
|
|
INSTALLNAMETOOL_CHANGE (@CMAKE_INSTALL_NAME_DIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} ${ATLOADER}/@QGIS_CGIBIN_SUBDIR_REV@/@QGIS_FW_SUBDIR@/${QLL}.framework/Versions/${Q_FWVER}/${QLL} "${QCGIDIR}/qgis_mapserv.fcgi")
|
|
ENDFOREACH (QLL)
|
|
ENDIF ()
|
|
ENDIF (@OSX_HAVE_LOADERPATH@)
|