@@ -36,6 +36,12 @@ file(RELATIVE_PATH QBS_RELATIVE_LIBEXEC_RPATH "/${QBS_LIBEXEC_INSTALL_DIR}" "/${
3636file (RELATIVE_PATH QBS_RELATIVE_APP_RPATH "/${QBS_APP_INSTALL_DIR} " "/${QBS_LIB_INSTALL_DIR} " )
3737file (RELATIVE_PATH QBS_RELATIVE_PLUGINS_RPATH "/${QBS_PLUGINS_INSTALL_DIR} " "/${QBS_LIB_INSTALL_DIR} " )
3838
39+ set (QBS_QT_INSTALL_DIR "${QBS_LIB_INSTALL_DIR} " CACHE STRING "Relative install location for Qt libraries." )
40+ file (RELATIVE_PATH QBS_QT_RELATIVE_LIB_RPATH "/${QBS_LIB_INSTALL_DIR} " "/${QBS_QT_INSTALL_DIR} " )
41+ file (RELATIVE_PATH QBS_QT_RELATIVE_LIBEXEC_RPATH "/${QBS_LIBEXEC_INSTALL_DIR} " "/${QBS_QT_INSTALL_DIR} " )
42+ file (RELATIVE_PATH QBS_QT_RELATIVE_APP_RPATH "/${QBS_APP_INSTALL_DIR} " "/${QBS_QT_INSTALL_DIR} " )
43+ file (RELATIVE_PATH QBS_QT_RELATIVE_PLUGINS_RPATH "/${QBS_PLUGINS_INSTALL_DIR} " "/${QBS_QT_INSTALL_DIR} " )
44+
3945if (WIN32 OR NOT QBS_ENABLE_RPATH)
4046 set (QBS_MACOSX_RPATH OFF )
4147 set (QBS_LIB_RPATH "" )
@@ -44,16 +50,56 @@ if(WIN32 OR NOT QBS_ENABLE_RPATH)
4450 set (QBS_PLUGINS_RPATH "" )
4551elseif (APPLE )
4652 set (QBS_MACOSX_RPATH ON )
47- set (QBS_LIB_RPATH "@loader_path" )
48- set (QBS_LIBEXEC_RPATH "@loader_path/${QBS_RELATIVE_LIBEXEC_RPATH} " )
49- set (QBS_APP_RPATH "@loader_path/${QBS_RELATIVE_APP_RPATH} " )
50- set (QBS_PLUGINS_RPATH "@loader_path/${QBS_RELATIVE_PLUGINS_RPATH} " )
53+
54+ if ("${QBS_LIB_INSTALL_DIR} " STREQUAL "${QBS_QT_INSTALL_DIR} " )
55+ set (QBS_LIB_RPATH "@loader_path" )
56+ else ()
57+ set (QBS_LIB_RPATH "@loader_path:@loader_path/${QBS_QT_RELATIVE_LIB_RPATH} " )
58+ endif ()
59+
60+ if ("${QBS_RELATIVE_LIBEXEC_RPATH} " STREQUAL "${QBS_QT_RELATIVE_LIBEXEC_RPATH} " )
61+ set (QBS_LIBEXEC_RPATH "@loader_path/${QBS_RELATIVE_LIBEXEC_RPATH} " )
62+ else ()
63+ set (QBS_LIBEXEC_RPATH "@loader_path/${QBS_RELATIVE_LIBEXEC_RPATH} :@loader_path/${QBS_QT_RELATIVE_LIBEXEC_RPATH} " )
64+ endif ()
65+
66+ if ("${QBS_RELATIVE_APP_RPATH} " STREQUAL "${QBS_QT_RELATIVE_APP_RPATH} " )
67+ set (QBS_APP_RPATH "@loader_path/${QBS_RELATIVE_APP_RPATH} " )
68+ else ()
69+ set (QBS_APP_RPATH "@loader_path/${QBS_RELATIVE_APP_RPATH} :@loader_path/${QBS_QT_RELATIVE_APP_RPATH} " )
70+ endif ()
71+
72+ if ("${QBS_RELATIVE_PLUGINS_RPATH} " STREQUAL "${QBS_QT_RELATIVE_PLUGINS_RPATH} " )
73+ set (QBS_PLUGINS_RPATH "@loader_path/${QBS_RELATIVE_PLUGINS_RPATH} " )
74+ else ()
75+ set (QBS_PLUGINS_RPATH "@loader_path/${QBS_RELATIVE_PLUGINS_RPATH} :@loader_path/${QBS_QT_RELATIVE_PLUGINS_RPATH} " )
76+ endif ()
5177else ()
5278 set (QBS_MACOSX_RPATH OFF )
53- set (QBS_LIB_RPATH "\$ ORIGIN" )
54- set (QBS_LIBEXEC_RPATH "\$ ORIGIN/${QBS_RELATIVE_LIBEXEC_RPATH} " )
55- set (QBS_APP_RPATH "\$ ORIGIN/${QBS_RELATIVE_APP_RPATH} " )
56- set (QBS_PLUGINS_RPATH "\$ ORIGIN/${QBS_RELATIVE_PLUGINS_RPATH} " )
79+
80+ if ("${QBS_LIB_INSTALL_DIR} " STREQUAL "${QBS_QT_INSTALL_DIR} " )
81+ set (QBS_LIB_RPATH "\$ ORIGIN" )
82+ else ()
83+ set (QBS_LIB_RPATH "\$ ORIGIN:\$ ORIGIN/${QBS_QT_RELATIVE_LIB_RPATH} " )
84+ endif ()
85+
86+ if ("${QBS_RELATIVE_LIBEXEC_RPATH} " STREQUAL "${QBS_QT_RELATIVE_LIBEXEC_RPATH} " )
87+ set (QBS_LIBEXEC_RPATH "\$ ORIGIN/${QBS_RELATIVE_LIBEXEC_RPATH} :\$ ORIGIN/${QBS_QT_RELATIVE_LIBEXEC_RPATH} " )
88+ else ()
89+ set (QBS_LIBEXEC_RPATH "\$ ORIGIN/${QBS_RELATIVE_LIBEXEC_RPATH} :\$ ORIGIN/${QBS_QT_RELATIVE_LIBEXEC_RPATH} " )
90+ endif ()
91+
92+ if ("${QBS_RELATIVE_APP_RPATH} " STREQUAL "${QBS_QT_RELATIVE_APP_RPATH} " )
93+ set (QBS_APP_RPATH "\$ ORIGIN/${QBS_RELATIVE_APP_RPATH} " )
94+ else ()
95+ set (QBS_APP_RPATH "\$ ORIGIN/${QBS_RELATIVE_APP_RPATH} :\$ ORIGIN/${QBS_QT_RELATIVE_APP_RPATH} " )
96+ endif ()
97+
98+ if ("${QBS_RELATIVE_PLUGINS_RPATH} " STREQUAL "${QBS_QT_RELATIVE_PLUGINS_RPATH} " )
99+ set (QBS_PLUGINS_RPATH "\$ ORIGIN/${QBS_RELATIVE_PLUGINS_RPATH} " )
100+ else ()
101+ set (QBS_PLUGINS_RPATH "\$ ORIGIN/${QBS_RELATIVE_PLUGINS_RPATH} :\$ ORIGIN/${QBS_QT_RELATIVE_PLUGINS_RPATH} " )
102+ endif ()
57103endif ()
58104
59105function (get_update_path_command var )
0 commit comments