diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-08-02 16:17:05 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-07 16:40:07 +0200 |
commit | a97d09a84b5ce6ce62371e3f9cfa19f9c25dcdf8 (patch) | |
tree | 39506c9ae54dc7f4b04e60efbe393902b02e5d35 /mkspecs | |
parent | 3dfb362782718610ec237f5a8d7ebff759d5fc7b (diff) |
add support for PKGCONFIG_PRIVATE
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>
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/link_pkgconfig.prf | 48 |
1 files changed, 28 insertions, 20 deletions
diff --git a/mkspecs/features/link_pkgconfig.prf b/mkspecs/features/link_pkgconfig.prf index 20b3e10550..4e36b7c83c 100644 --- a/mkspecs/features/link_pkgconfig.prf +++ b/mkspecs/features/link_pkgconfig.prf @@ -1,24 +1,32 @@ PKG_CONFIG = $$pkgConfigExecutable() -for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) { - # 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 - LIBS += $$system($$PKG_CONFIG --libs $$PKGCONFIG_LIB) +# 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 } |