Skip to content

Commit 4f10bf1

Browse files
committed
added support for extra qt install dir
1 parent 714a87c commit 4f10bf1

File tree

1 file changed

+54
-8
lines changed

1 file changed

+54
-8
lines changed

cmake/QbsBuildConfig.cmake

Lines changed: 54 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,12 @@ file(RELATIVE_PATH QBS_RELATIVE_LIBEXEC_RPATH "/${QBS_LIBEXEC_INSTALL_DIR}" "/${
3636
file(RELATIVE_PATH QBS_RELATIVE_APP_RPATH "/${QBS_APP_INSTALL_DIR}" "/${QBS_LIB_INSTALL_DIR}")
3737
file(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+
3945
if(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 "")
4551
elseif(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()
5177
else()
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()
57103
endif()
58104

59105
function(get_update_path_command var)

0 commit comments

Comments
 (0)