diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-07-31 22:10:24 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-08-05 09:56:22 +0000 |
commit | f9c3e867ddbbc1948e9556eee9aa91a3f55cac4d (patch) | |
tree | 2ccb40f7343b421446995e5d53be5ccfcd7b90eb /cmake | |
parent | 0aaefe74eef7444d093fa6b54b29bb1630777360 (diff) | |
download | qbs-f9c3e867ddbbc1948e9556eee9aa91a3f55cac4d.tar.gz |
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')
-rw-r--r-- | cmake/QbsBuildConfig.cmake | 7 |
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}) |