-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlink_pkgconfig.prf
32 lines (24 loc) · 1.03 KB
/
link_pkgconfig.prf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
}