qtAddModule(): define PRE_TARGETDEPS for static modules

This ensures that for example the platform plugins get properly
re-linked when the static platform-support lib changes.

Change-Id: Iad493d4de30d6f6977f80aa56d0b27d05e9e3770
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
J-P Nurmi 2012-11-13 14:17:32 +01:00 committed by The Qt Project
parent 39a0952687
commit 9cdcd2f639

View File

@ -103,14 +103,17 @@ defineTest(qtAddModule) {
!isEmpty(MODULE_LIBS): LINKAGE = -L$$MODULE_LIBS
lib =
if(!debug_and_release|build_pass):CONFIG(debug, debug|release) {
win32: lib = -l$${MODULE_NAME}$${QT_LIBINFIX}d
mac: lib = -l$${MODULE_NAME}$${QT_LIBINFIX}_debug
win32: lib = $${MODULE_NAME}$${QT_LIBINFIX}d
mac: lib = $${MODULE_NAME}$${QT_LIBINFIX}_debug
}
isEmpty(lib): lib = -l$${MODULE_NAME}$${QT_LIBINFIX}
LINKAGE += $$lib
isEmpty(lib): lib = $${MODULE_NAME}$${QT_LIBINFIX}
LINKAGE += -l$$lib
contains(QT_CONFIG, rpath): QMAKE_RPATHDIR *= $$eval(QT.$${1}.rpath)
contains(MODULE_CONFIG, staticlib): \
PRE_TARGETDEPS *= $$MODULE_LIBS/$${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
# Make sure we can link to uninstalled libraries
unix:!mac:!isEmpty(QT.$${1}.libs) { # Use unmodified path, so /usr/lib also works
for(rpl, QT.$${1}.rpath_link): \
@ -136,6 +139,7 @@ defineTest(qtAddModule) {
export(QMAKE_LFLAGS)
export(QMAKE_LIBDIR)
export(QMAKE_RPATHDIR)
export(PRE_TARGETDEPS)
return(true)
}