summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-06-04 21:04:49 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-09-17 16:36:16 +0000
commit93f69366ebc45d5dd28a8667c495654d16d721df (patch)
tree6c1f55c8052f97e018fa2033a5237b61bf91d119 /mkspecs
parent967372c975fcaea5c2ef4e8a5950fb60bab10e6c (diff)
inline qtAddRpathLink()
there is no particular reason to have it in qt_functions.prf. Change-Id: I88ed1ea937a9a88a4625a6de7bcd3a29957560da Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qt.prf14
-rw-r--r--mkspecs/features/qt_functions.prf17
2 files changed, 13 insertions, 18 deletions
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 9eeb1bd76c..47f14c5017 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -53,7 +53,6 @@ qtAddModules(QT_PRIVATE, LIBS_PRIVATE)
message("Running this project against other versions of the Qt modules may crash at any arbitrary point.")
message("This is not a bug, but a result of using Qt internals. You have been warned!")
}
-qtAddRpathLink($$QT $$QT_PRIVATE)
qt_module_deps = $$QT $$QT_PRIVATE
qt_module_deps = $$replace(qt_module_deps, -private$, _private)
@@ -82,6 +81,19 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.")
}
}
+!isEmpty(QMAKE_LFLAGS_RPATHLINK):!contains(QT_CONFIG, static) {
+ # -rpath-link is used by the linker to find dependencies of dynamic
+ # libraries which were NOT specified on the command line.
+ # This means that paths of direct dependencies (QT & QT_PRIVATE)
+ # don't need to be listed, unlike their private dependencies' paths.
+ privdep = $$resolve_depends(qt_module_deps, "QT.", ".depends" ".run_depends")
+ privdep -= $$qt_module_deps
+ rpaths =
+ for(dep, privdep): \
+ rpaths += $$eval(QT.$${dep}.libs)
+ QMAKE_RPATHLINKDIR *= $$unique(rpaths)
+}
+
# static builds: link qml import plugins into the app.
contains(qt_module_deps, qml): \
contains(QT_CONFIG, static):contains(TEMPLATE, .*app):!host_build:!no_import_scan {
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 917822fbf0..bfe1c545a4 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -172,23 +172,6 @@ defineTest(qtAddModules) {
!isEmpty(BAD_QT):error("Unknown module(s) in $$1: $$replace(BAD_QT, _private$, -private)")
}
-defineTest(qtAddRpathLink) {
- # -rpath-link is used by the linker to find dependencies of dynamic
- # libraries which were NOT specified on the command line.
- # This means that paths of direct dependencies (QT & QT_PRIVATE)
- # don't need to appear here. However, their private dependencies'
- # paths OTOH need to be put there.
- pubqt = $$replace(1, -private$, _private)
- pubdep = $$resolve_depends(pubqt, "QT.")
- privdep = $$resolve_depends(pubqt, "QT.", ".depends" ".run_depends")
- privdep -= $$pubdep
- rpaths =
- for(dep, privdep): \
- rpaths += $$eval(QT.$${dep}.libs)
- QMAKE_RPATHLINKDIR *= $$unique(rpaths)
- export(QMAKE_RPATHLINKDIR)
-}
-
# variable, default, [suffix for variable for system() use], [prepare primary variable for system() use]
defineTest(qtPrepareTool) {
cmd = $$eval(QT_TOOL.$${2}.binary)