| 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("$$PKGCONFIG_LIB development package 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 |
| } |
| |