[MacOS] Change CMake installed names to absolute paths from @rpath/...

gtk-mac-bundler can't access the executable's rpath list so it can't
follow dependencies if they're not in $install_dir/lib from @rpath.
Autotools always sets absolute path install names so this should have no
adverse affects on other Mac builds.
This commit is contained in:
John Ralls
2017-10-15 13:22:29 -07:00
parent 14eafd8a1d
commit 91a2ee4525
26 changed files with 106 additions and 1 deletions

View File

@@ -491,9 +491,10 @@ SET( CMAKE_CXX_FLAGS_DEBUG "-O0 -g ${CMAKE_CXX_FLAGS} -Wno-deprecated-declaratio
IF (APPLE AND WITH_GNUCASH)
SET(CMAKE_MACOSX_RPATH ON)
SET(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF (APPLE AND WITH_GNUCASH)
IF (UNIX AND NOT APPLE)
IF (UNIX)
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib:${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()

View File

@@ -52,6 +52,10 @@ TARGET_COMPILE_DEFINITIONS(gncmod-gnome-search PRIVATE -DG_LOG_DOMAIN=\"gnc.gui.
TARGET_INCLUDE_DIRECTORIES(gncmod-gnome-search PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-gnome-search PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-gnome-search
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -232,6 +232,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-gnome-utils
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-gnome-utils PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-gnome-utils
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -53,6 +53,10 @@ PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-html PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-html
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -64,6 +64,10 @@ TARGET_COMPILE_DEFINITIONS (gncmod-generic-import PRIVATE -DG_LOG_DOMAIN=\"gnc.i
TARGET_INCLUDE_DIRECTORIES(gncmod-generic-import PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-generic-import PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-generic-import
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -69,6 +69,10 @@ IF(WITH_AQBANKING)
${GWENHYWFAR_INCLUDE_DIRS}
${KTOBLZCHECK_INCLUDE_DIRS})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-aqbanking PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-aqbanking
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -39,6 +39,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-bi-import
TARGET_COMPILE_DEFINITIONS(gncmod-bi-import PRIVATE -DG_LOG_DOMAIN=\"gnc.plugin.bi-import\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-bi-import PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-bi-import
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -25,6 +25,10 @@ TARGET_LINK_LIBRARIES(gncmod-csv-export gncmod-register-gnome gncmod-register-co
TARGET_COMPILE_DEFINITIONS(gncmod-csv-export PRIVATE -DG_LOG_DOMAIN=\"gnc.export.csv\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-csv-export PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-csv-export
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -72,6 +72,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-csv-import PRIVATE
${CMAKE_SOURCE_DIR}/borrowed/goffice
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-csv-import PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-csv-import
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -30,6 +30,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-customer-import
TARGET_COMPILE_DEFINITIONS(gncmod-customer-import PRIVATE -DG_LOG_DOMAIN=\"gnc.plugin.customer-import\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-customer-import PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-customer-import
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -20,6 +20,10 @@ TARGET_LINK_LIBRARIES(gncmod-log-replay gncmod-gnome-utils gncmod-app-utils gncm
TARGET_COMPILE_DEFINITIONS(gncmod-log-replay PRIVATE -DG_LOG_DOMAIN=\"gnc.import.log-replay\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-log-replay PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-log-replay
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -29,6 +29,10 @@ IF (WITH_OFX)
TARGET_INCLUDE_DIRECTORIES(gncmod-ofx PRIVATE ${LIBOFX_INCLUDE_DIRS})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-ofx PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-ofx
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -25,6 +25,10 @@ TARGET_LINK_LIBRARIES(gncmod-qif-import gncmod-app-utils gncmod-gnome-utils gnc-
TARGET_COMPILE_DEFINITIONS(gncmod-qif-import PRIVATE -DG_LOG_DOMAIN=\"gnc.import.qif.import\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-qif-import PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-qif-import
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -29,6 +29,10 @@ TARGET_LINK_LIBRARIES(gncmod-qif gncmod-generic-import gncmod-engine ${GLIB2_LDF
TARGET_COMPILE_DEFINITIONS(gncmod-qif PRIVATE -DG_LOG_DOMAIN=\"gnc.import.qif\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-qif PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-qif
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -53,6 +53,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-ledger-core
${CMAKE_BINARY_DIR}/gnucash/gnome-utils # for gnc-warnings.h
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-ledger-core PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-ledger-core
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -51,6 +51,10 @@ TARGET_COMPILE_DEFINITIONS (gncmod-register-core PRIVATE -DG_LOG_DOMAIN=\"gnc.re
TARGET_INCLUDE_DIRECTORIES(gncmod-register-core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-register-core PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-register-core
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -53,6 +53,10 @@ TARGET_INCLUDE_DIRECTORIES(gncmod-register-gnome
PRIVATE ${CMAKE_SOURCE_DIR}/gnucash/register/ledger-core ${GTK3_INCLUDE_DIRS}
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-register-gnome PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-register-gnome
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -12,6 +12,10 @@ TARGET_LINK_LIBRARIES(gncmod-locale-reports-us gnc-module gncmod-app-utils gncmo
TARGET_COMPILE_DEFINITIONS(gncmod-locale-reports-us PRIVATE -DG_LOG_DOMAIN=\"gnc.report.locale.us\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-locale-reports-us PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-locale-reports-us
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -36,6 +36,10 @@ TARGET_COMPILE_DEFINITIONS (gncmod-report-gnome PRIVATE -DG_LOG_DOMAIN=\"gnc.rep
TARGET_INCLUDE_DIRECTORIES(gncmod-report-gnome PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-report-gnome PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-report-gnome
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -32,6 +32,10 @@ TARGET_INCLUDE_DIRECTORIES (gncmod-report-system
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-report-system PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-report-system
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -22,6 +22,10 @@ IF (WIN32)
ENDIF(WIN32)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-stylesheets PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-stylesheets
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}

View File

@@ -99,6 +99,10 @@ TARGET_INCLUDE_DIRECTORIES (gncmod-app-utils
)
TARGET_COMPILE_DEFINITIONS (gncmod-app-utils PRIVATE -DG_LOG_DOMAIN=\"gnc.app-utils\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-app-utils PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-app-utils
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash
@@ -116,6 +120,10 @@ IF (WITH_PYTHON)
)
TARGET_COMPILE_DEFINITIONS (gncmod-app-utils-python PRIVATE -DG_LOG_DOMAIN=\"gnc.app-utils\")
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-app-utils-python PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-app-utils-python
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -40,6 +40,10 @@ TARGET_COMPILE_DEFINITIONS(gncmod-backend-dbi PRIVATE -DG_LOG_DOMAIN=\"gnc.backe
TARGET_INCLUDE_DIRECTORIES(gncmod-backend-dbi PRIVATE ${LIBDBI_INCLUDE_PATH})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-backend-dbi PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-backend-dbi
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -115,6 +115,10 @@ IF (WIN32)
ENDIF(WIN32)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-backend-xml PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_DIR}")
ENDIF()
INSTALL(TARGETS gncmod-backend-xml
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}

View File

@@ -248,6 +248,10 @@ TARGET_INCLUDE_DIRECTORIES (gncmod-engine
${CMAKE_SOURCE_DIR}/borrowed/libc # for strptime.h
)
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-engine PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-engine
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash

View File

@@ -11,6 +11,10 @@ TARGET_LINK_LIBRARIES(gncmod-tax-us gnc-module ${GLIB2_LDFLAGS} ${GUILE_LDFLAGS}
TARGET_INCLUDE_DIRECTORIES(gncmod-tax-us
PRIVATE ${CMAKE_BINARY_DIR}/common ${GUILE_INCLUDE_DIRS})
IF (APPLE)
SET_TARGET_PROPERTIES (gncmod-tax-us PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib/gnucash")
ENDIF()
INSTALL(TARGETS gncmod-tax-us
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash