a97d09a84b
this does the same as PKGCONFIG, only that the libraries end up in LIBS_PRIVATE, not LIBS, which means they don't end up in prl files. in the vast majority of cases, the user should use this new variable. Change-Id: Icb57a1166f1896f51284c64e4047cfc79410e73a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
PKG_CONFIG = $$pkgConfigExecutable()
|
|
|
|
# qmake supports no empty list elements, so the outer loop is a bit arcane
|
|
pkgsfx =
|
|
for(ever) {
|
|
pkgvar = PKGCONFIG$$pkgsfx
|
|
libvar = LIBS$$pkgsfx
|
|
for(PKGCONFIG_LIB, $$list($$unique($$pkgvar))) {
|
|
# don't proceed if the .pro asks for a package we don't have!
|
|
!packagesExist($$PKGCONFIG_LIB):error("Package $$PKGCONFIG_LIB not found")
|
|
|
|
PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
|
|
|
|
PKGCONFIG_INCLUDEPATH = $$find(PKGCONFIG_CFLAGS, ^-I.*)
|
|
PKGCONFIG_INCLUDEPATH ~= s/^-I(.*)/\\1/g
|
|
|
|
PKGCONFIG_DEFINES = $$find(PKGCONFIG_CFLAGS, ^-D.*)
|
|
PKGCONFIG_DEFINES ~= s/^-D(.*)/\\1/g
|
|
|
|
PKGCONFIG_CFLAGS ~= s/^-[ID].*//g
|
|
|
|
INCLUDEPATH *= $$PKGCONFIG_INCLUDEPATH
|
|
DEFINES *= $$PKGCONFIG_DEFINES
|
|
|
|
QMAKE_CXXFLAGS += $$PKGCONFIG_CFLAGS
|
|
QMAKE_CFLAGS += $$PKGCONFIG_CFLAGS
|
|
$$libvar += $$system($$PKG_CONFIG --libs $$PKGCONFIG_LIB)
|
|
}
|
|
!isEmpty(pkgsfx): break()
|
|
pkgsfx = _PRIVATE
|
|
}
|
|
|