Set up relative-to-executable RPATH on macOS, copy lib into bundle

This commit is contained in:
baldurk
2018-09-02 14:27:54 +01:00
parent c2a8365eaa
commit 7da13165e9
2 changed files with 12 additions and 0 deletions
+4
View File
@@ -134,6 +134,10 @@ win32 {
macx: {
DEFINES += RENDERDOC_PLATFORM_POSIX RENDERDOC_PLATFORM_APPLE
ICON = $$OSX_ICONFILE
librd.files = $$files($$DESTDIR/librenderdoc.dylib)
librd.path = Contents/lib
QMAKE_BUNDLE_DATA += librd
INFO_PLIST_PATH = $$shell_quote($$DESTDIR/$${TARGET}.app/Contents/Info.plist)
QMAKE_POST_LINK += $$_PRO_FILE_PWD_/../util/set_plist_version.sh $${RENDERDOC_VERSION}.0 $${INFO_PLIST_PATH}
+8
View File
@@ -449,6 +449,14 @@ if(UNIX AND NOT ANDROID AND NOT APPLE)
set_target_properties(renderdoc PROPERTIES LINK_FLAGS "-Wl,--undefined,force_include_libentry -Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/renderdoc.version -Wl,--no-undefined")
endif()
# On macOS set the rpath so that linked libraries are relative to the executable, not absolute
if(APPLE)
set_target_properties(renderdoc PROPERTIES MACOSX_RPATH 1)
set_target_properties(renderdoc PROPERTIES INSTALL_RPATH "@executable_path/../lib")
set_target_properties(renderdoc PROPERTIES INSTALL_NAME_DIR "@executable_path/../lib")
set_target_properties(renderdoc PROPERTIES BUILD_WITH_INSTALL_RPATH 1)
endif()
if(ANDROID)
set_target_properties(renderdoc PROPERTIES LINK_FLAGS "-Wl,--undefined,force_include_libentry -Wl,--build-id")
# rename output library