aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/QbsBuildConfig.cmake
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-07-31 22:10:24 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2021-08-05 09:56:22 +0000
commitf9c3e867ddbbc1948e9556eee9aa91a3f55cac4d (patch)
tree2ccb40f7343b421446995e5d53be5ccfcd7b90eb /cmake/QbsBuildConfig.cmake
parent0aaefe74eef7444d093fa6b54b29bb1630777360 (diff)
cmake: fix setting MACOSX_RPATH prop
On macOS, we need to exclude the @rpath/ prefix from the dylib name when building with -DQBS_ENABLE_RPATH=NO Change-Id: I91c17613de6f29ca54cfbfa40f149580d1120073 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'cmake/QbsBuildConfig.cmake')
-rw-r--r--cmake/QbsBuildConfig.cmake7
1 files changed, 7 insertions, 0 deletions
diff --git a/cmake/QbsBuildConfig.cmake b/cmake/QbsBuildConfig.cmake
index f0861010a..08e36bc67 100644
--- a/cmake/QbsBuildConfig.cmake
+++ b/cmake/QbsBuildConfig.cmake
@@ -36,16 +36,19 @@ file(RELATIVE_PATH QBS_RELATIVE_APP_RPATH "/${QBS_APP_INSTALL_DIR}" "/${QBS_LIB_
file(RELATIVE_PATH QBS_RELATIVE_PLUGINS_RPATH "/${QBS_PLUGINS_INSTALL_DIR}" "/${QBS_LIB_INSTALL_DIR}")
if(WIN32 OR NOT QBS_ENABLE_RPATH)
+ set(QBS_MACOSX_RPATH OFF)
set(QBS_LIB_RPATH "")
set(QBS_LIBEXEC_RPATH "")
set(QBS_APP_RPATH "")
set(QBS_PLUGINS_RPATH "")
elseif(APPLE)
+ set(QBS_MACOSX_RPATH ON)
set(QBS_LIB_RPATH "@loader_path")
set(QBS_LIBEXEC_RPATH "@loader_path/${QBS_RELATIVE_LIBEXEC_RPATH}")
set(QBS_APP_RPATH "@loader_path/${QBS_RELATIVE_APP_RPATH}")
set(QBS_PLUGINS_RPATH "@loader_path/${QBS_RELATIVE_PLUGINS_RPATH}")
else()
+ set(QBS_MACOSX_RPATH OFF)
set(QBS_LIB_RPATH "\$ORIGIN")
set(QBS_LIBEXEC_RPATH "\$ORIGIN/${QBS_RELATIVE_LIBEXEC_RPATH}")
set(QBS_APP_RPATH "\$ORIGIN/${QBS_RELATIVE_APP_RPATH}")
@@ -119,6 +122,7 @@ function(add_qbs_app target_name)
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${_DESTINATION}
BUILD_RPATH "${QBS_APP_RPATH}"
INSTALL_RPATH "${QBS_APP_RPATH}"
+ MACOSX_RPATH ${QBS_MACOSX_RPATH}
)
install(TARGETS ${target_name} RUNTIME DESTINATION ${_DESTINATION})
endfunction()
@@ -160,6 +164,7 @@ function(add_qbs_library target_name)
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_DLL_INSTALL_DIR}
BUILD_RPATH "${QBS_LIB_RPATH}"
INSTALL_RPATH "${QBS_LIB_RPATH}"
+ MACOSX_RPATH ${QBS_MACOSX_RPATH}
SOVERSION ${_SOVERSION}
VERSION ${QBS_VERSION}
)
@@ -195,6 +200,7 @@ function(add_qbs_plugin target_name)
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_PLUGINS_INSTALL_DIR}
BUILD_RPATH "${QBS_PLUGINS_RPATH}"
INSTALL_RPATH "${QBS_PLUGINS_RPATH}"
+ MACOSX_RPATH ${QBS_MACOSX_RPATH}
)
install(TARGETS ${target_name}
LIBRARY DESTINATION ${QBS_PLUGINS_INSTALL_DIR}
@@ -241,6 +247,7 @@ function(add_qbs_test test_name)
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${QBS_OUTPUT_PREFIX}${QBS_APP_INSTALL_DIR}
BUILD_RPATH "${QBS_APP_RPATH}"
INSTALL_RPATH "${QBS_APP_RPATH}"
+ MACOSX_RPATH ${QBS_MACOSX_RPATH}
)
install(TARGETS ${target_name} RUNTIME DESTINATION ${QBS_APP_INSTALL_DIR})
add_test(NAME ${target_name} COMMAND ${target_name})