make the installed meta files play nicely with sysroots
pkg-config .pc files use the raw target paths (and pkg-config patches up -I and -L flags on the fly), so these files were actually already fine. libtool .la files use the magic prefix = to denote the sysroot. this works only with libtool 2.4+ (sept 2010). qmake .prl files have no built-in sysrootification magic, but as they are read by qmake, it's possible to put property references into them. this makes them relocatable, both inside and outside sysroots. Change-Id: I97236ac81e7aba4e4771d14a44cbf59144cc2d3e Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
parent
022c68c97f
commit
a64cfadaff
@ -24,16 +24,19 @@ contains(TEMPLATE, .*lib) {
|
|||||||
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
|
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
|
||||||
else: \
|
else: \
|
||||||
rplbase = $$MODULE_BASE_OUTDIR
|
rplbase = $$MODULE_BASE_OUTDIR
|
||||||
host_build: \
|
host_build {
|
||||||
|
qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
|
||||||
qt_libdir = $$[QT_HOST_LIBS]
|
qt_libdir = $$[QT_HOST_LIBS]
|
||||||
else: \
|
} else {
|
||||||
qt_libdir = $$[QT_INSTALL_LIBS/raw]
|
qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
|
||||||
|
qt_libdir = $$[QT_INSTALL_LIBS]
|
||||||
|
}
|
||||||
contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
|
contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
|
||||||
lib_replace.match = "[^ ']*$$rplbase/lib"
|
lib_replace.match = "[^ ']*$$rplbase/lib"
|
||||||
lib_replace.replace =
|
lib_replace.replace =
|
||||||
} else {
|
} else {
|
||||||
lib_replace.match = $$rplbase/lib
|
lib_replace.match = $$rplbase/lib
|
||||||
lib_replace.replace = $$qt_libdir
|
lib_replace.replace = $$qqt_libdir
|
||||||
}
|
}
|
||||||
lib_replace.CONFIG = path
|
lib_replace.CONFIG = path
|
||||||
QMAKE_PRL_INSTALL_REPLACE += lib_replace
|
QMAKE_PRL_INSTALL_REPLACE += lib_replace
|
||||||
|
@ -181,7 +181,10 @@ load(qt_common)
|
|||||||
unix|mingw {
|
unix|mingw {
|
||||||
CONFIG += create_pc
|
CONFIG += create_pc
|
||||||
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
|
||||||
QMAKE_PKGCONFIG_LIBDIR = $$qt_libdir
|
host_build: \
|
||||||
|
QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS]
|
||||||
|
else: \
|
||||||
|
QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw]
|
||||||
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
|
QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
|
||||||
QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
|
QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
|
||||||
QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
|
QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
|
||||||
@ -190,12 +193,23 @@ unix|mingw {
|
|||||||
QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))
|
QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$eval(QT.$${i}.MAJOR_VERSION))
|
||||||
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
|
isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
|
||||||
QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
|
QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
|
||||||
QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
|
pclib_replace.match = $$lib_replace.match
|
||||||
|
!isEmpty(lib_replace.replace): \
|
||||||
|
pclib_replace.replace = $$QMAKE_PKGCONFIG_LIBDIR
|
||||||
|
pclib_replace.CONFIG = path
|
||||||
|
QMAKE_PKGCONFIG_INSTALL_REPLACE += pclib_replace
|
||||||
|
|
||||||
unix {
|
unix {
|
||||||
CONFIG += create_libtool explicitlib
|
CONFIG += create_libtool explicitlib
|
||||||
QMAKE_LIBTOOL_LIBDIR = $$qt_libdir
|
host_build: \
|
||||||
QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace
|
QMAKE_LIBTOOL_LIBDIR = $$[QT_HOST_LIBS]
|
||||||
|
else: \
|
||||||
|
QMAKE_LIBTOOL_LIBDIR = "=$$[QT_INSTALL_LIBS/raw]"
|
||||||
|
ltlib_replace.match = $$lib_replace.match
|
||||||
|
!isEmpty(lib_replace.replace): \
|
||||||
|
ltlib_replace.replace = $$QMAKE_LIBTOOL_LIBDIR
|
||||||
|
ltlib_replace.CONFIG = path
|
||||||
|
QMAKE_LIBTOOL_INSTALL_REPLACE += ltlib_replace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ INCLUDEPATH += \
|
|||||||
LIBS_PRIVATE = $$QMAKE_LIBS_CORE $$QMAKE_LIBS_GUI
|
LIBS_PRIVATE = $$QMAKE_LIBS_CORE $$QMAKE_LIBS_GUI
|
||||||
|
|
||||||
lib_replace.match = $$[QT_INSTALL_LIBS/get]
|
lib_replace.match = $$[QT_INSTALL_LIBS/get]
|
||||||
lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
|
lib_replace.replace = \$\$\$\$[QT_INSTALL_LIBS]
|
||||||
lib_replace.CONFIG = path
|
lib_replace.CONFIG = path
|
||||||
QMAKE_PRL_INSTALL_REPLACE += lib_replace
|
QMAKE_PRL_INSTALL_REPLACE += lib_replace
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user