summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Carr <donald.carr@nokia.com>2012-06-06 20:10:11 +0000
committerJørgen Lind <jorgen.lind@nokia.com>2012-06-11 12:57:00 +0200
commit4097fb07df32eb3c748b75088684dd17a15970c9 (patch)
tree1f02160c17e5b699c8e7a9fa34e620d7a2402f9f
parentb0a4355c5320eecdf008521e1b40cd221e8352f2 (diff)
Introduce standard pkg-config usage
Use our own qualified pkg-config mkspec feature rather than directly executing the system binary Change-Id: I4b162cd8d2d9a8bd5d0b3adb9ca935df9ff96a69 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
-rw-r--r--config.tests/xkbcommon/xkbcommon.pro11
-rw-r--r--examples/qml-compositor/qml-compositor.pro3
-rw-r--r--examples/qwidget-compositor/qwidget-compositor.pro3
-rw-r--r--examples/qwindow-compositor/qwindow-compositor.pro3
-rw-r--r--src/compositor/compositor.pri25
-rw-r--r--src/compositor/compositor.pro3
-rw-r--r--src/plugins/platforms/wayland/wayland.pro34
-rw-r--r--tests/auto/client/client.pro27
-rw-r--r--tests/auto/compositor/compositor.pro29
9 files changed, 24 insertions, 114 deletions
diff --git a/config.tests/xkbcommon/xkbcommon.pro b/config.tests/xkbcommon/xkbcommon.pro
index facc28e58..e21015b4b 100644
--- a/config.tests/xkbcommon/xkbcommon.pro
+++ b/config.tests/xkbcommon/xkbcommon.pro
@@ -4,14 +4,13 @@ QT = core
DEPENDPATH += .
INCLUDEPATH += .
+CONFIG += link_pkgconfig
+
!contains(QT_CONFIG, no-pkg-config) {
- QMAKE_CFLAGS_XKBCOMMON=$$system(pkg-config --cflags xkbcommon 2>/dev/null)
- QMAKE_LIBS_XKBCOMMON=$$system(pkg-config --libs xkbcommon 2>/dev/null)
+ PKGCONFIG += xkbcommon
+} else {
+ LIBS += -lxkbcommon
}
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XKBCOMMON
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_XKBCOMMON
-LIBS += $$QMAKE_LIBS_XKBCOMMON
-
# Input
SOURCES += main.cpp
diff --git a/examples/qml-compositor/qml-compositor.pro b/examples/qml-compositor/qml-compositor.pro
index dd99f8c64..0bc0b02d6 100644
--- a/examples/qml-compositor/qml-compositor.pro
+++ b/examples/qml-compositor/qml-compositor.pro
@@ -1,8 +1,5 @@
DEFINES += QT_COMPOSITOR_QUICK
-# comment out the following to not use pkg-config in the pri files
-CONFIG += use_pkgconfig
-
LIBS += -L ../../lib
QT += quick qml v8
diff --git a/examples/qwidget-compositor/qwidget-compositor.pro b/examples/qwidget-compositor/qwidget-compositor.pro
index beec269ca..20dce5a62 100644
--- a/examples/qwidget-compositor/qwidget-compositor.pro
+++ b/examples/qwidget-compositor/qwidget-compositor.pro
@@ -1,6 +1,3 @@
-# comment out the following to not use pkg-config in the pri files
-CONFIG += use_pkgconfig
-
# if you want to compile QtCompositor as part of the application
# instead of linking to it, remove the QT += compositor and uncomment
# the following line
diff --git a/examples/qwindow-compositor/qwindow-compositor.pro b/examples/qwindow-compositor/qwindow-compositor.pro
index 068b08893..465c0d997 100644
--- a/examples/qwindow-compositor/qwindow-compositor.pro
+++ b/examples/qwindow-compositor/qwindow-compositor.pro
@@ -1,8 +1,5 @@
QT += gui gui-private core-private compositor
-# comment out the following to not use pkg-config in the pri files
-CONFIG += use_pkgconfig
-
LIBS += -L ../../lib
#include (../../src/qt-compositor/qt-compositor.pri)
diff --git a/src/compositor/compositor.pri b/src/compositor/compositor.pri
index 77467c2dd..d13391344 100644
--- a/src/compositor/compositor.pri
+++ b/src/compositor/compositor.pri
@@ -1,4 +1,4 @@
-CONFIG += module
+CONFIG += module link_pkgconfig
load(qt_module)
MODULE_PRI += $$PWD/../../modules/qt_compositor.pri
@@ -8,26 +8,9 @@ DEFINES += QT_WAYLAND_WINDOWMANAGER_SUPPORT
DEFINES += QT_BUILD_COMPOSITOR_LIB
!contains(QT_CONFIG, no-pkg-config) {
- #If Qt uses pkg-config then override pkgconfig from mkspec
- QMAKE_CFLAGS_WAYLAND=$$system(pkg-config --cflags wayland-server 2>/dev/null)
- QMAKE_LIBS_WAYLAND_SERVER=$$system(pkg-config --libs-only-l wayland-server 2>/dev/null)
- QMAKE_INCDIR_WAYLAND=$$system("pkg-config --cflags-only-I wayland-server 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'")
- QMAKE_LIBDIR_WAYLAND=$$system("pkg-config --libs-only-L wayland-server 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'")
- QMAKE_DEFINES_WAYLAND=""
-}
-
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_WAYLAND
-DEFINES += $$QMAKE_DEFINES_WAYLAND
-LIBS += $$QMAKE_LIBS_WAYLAND_SERVER
-!isEmpty(QMAKE_LIBDIR_WAYLAND) {
- LIBS += -L$$QMAKE_LIBDIR_WAYLAND
-}
-
-!isEmpty(QMAKE_LFLAGS_RPATH) {
- !isEmpty(QMAKE_LIBDIR_WAYLAND) {
- QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${QMAKE_LIBS_WAYLAND}
- }
+ PKGCONFIG += wayland-server
+} else {
+ LIBS += -lwayland-server
}
HEADERS += qtcompositorversion.h
diff --git a/src/compositor/compositor.pro b/src/compositor/compositor.pro
index 712541777..850e350dd 100644
--- a/src/compositor/compositor.pro
+++ b/src/compositor/compositor.pro
@@ -3,9 +3,6 @@ load(qt_module)
TARGET = QtCompositor
QPRO_PWD = $$PWD
-# comment out the following to not use pkg-config in the pri files
-CONFIG += use_pkgconfig
-
include (compositor.pri)
load(qt_module_config)
diff --git a/src/plugins/platforms/wayland/wayland.pro b/src/plugins/platforms/wayland/wayland.pro
index 92a04c07f..20598260a 100644
--- a/src/plugins/platforms/wayland/wayland.pro
+++ b/src/plugins/platforms/wayland/wayland.pro
@@ -2,7 +2,7 @@ TARGET = qwayland
load(qt_plugin)
load(qt_module)
-CONFIG += qpa/genericunixfontdatabase
+CONFIG += link_pkgconfig qpa/genericunixfontdatabase
DESTDIR = $$QT.gui.plugins/platforms
@@ -61,13 +61,10 @@ DEFINES += Q_PLATFORM_WAYLAND
contains(config_test_xkbcommon,yes) {
!contains(QT_CONFIG, no-pkg-config) {
- QMAKE_CFLAGS_XKBCOMMON=$$system(pkg-config --cflags xkbcommon 2>/dev/null)
- QMAKE_LIBS_XKBCOMMON=$$system(pkg-config --libs xkbcommon 2>/dev/null)
+ PKGCONFIG += xkbcommon
+ } else {
+ LIBS += -lxkbcommon
}
-
- QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XKBCOMMON
- QMAKE_CFLAGS += $$QMAKE_CFLAGS_XKBCOMMON
- LIBS += $$QMAKE_LIBS_XKBCOMMON
} else {
DEFINES += QT_NO_WAYLAND_XKB
}
@@ -85,26 +82,9 @@ OTHER_FILES += wayland.json
INCLUDEPATH += $$PWD/../../../shared
!contains(QT_CONFIG, no-pkg-config) {
- #If Qt uses pkg-config then override pkgconfig from mkspec
- QMAKE_CFLAGS_WAYLAND=$$system(pkg-config --cflags wayland-client 2>/dev/null)
- QMAKE_LIBS_WAYLAND_CLIENT=$$system(pkg-config --libs-only-l wayland-client 2>/dev/null)
- QMAKE_INCDIR_WAYLAND=$$system("pkg-config --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'")
- QMAKE_LIBDIR_WAYLAND=$$system("pkg-config --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'")
- QMAKE_DEFINES_WAYLAND=""
-}
-
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_WAYLAND
-DEFINES += $$QMAKE_DEFINES_WAYLAND
-LIBS += $$QMAKE_LIBS_WAYLAND_CLIENT
-!isEmpty(QMAKE_LIBDIR_WAYLAND) {
- LIBS += -L$$QMAKE_LIBDIR_WAYLAND
-}
-
-!isEmpty(QMAKE_LFLAGS_RPATH) {
- !isEmpty(QMAKE_LIBDIR_WAYLAND) {
- QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${QMAKE_LIBS_WAYLAND}
- }
+ PKGCONFIG += wayland-client
+} else {
+ LIBS += -lwayland-client
}
target.path += $$[QT_INSTALL_PLUGINS]/platforms
diff --git a/tests/auto/client/client.pro b/tests/auto/client/client.pro
index 9a7e2c8c2..a92aa88b7 100644
--- a/tests/auto/client/client.pro
+++ b/tests/auto/client/client.pro
@@ -1,32 +1,13 @@
-CONFIG += testcase
+CONFIG += testcase link_pkgconfig
TARGET = tst_client
QT += testlib
QT += core-private gui-private
!contains(QT_CONFIG, no-pkg-config) {
- #If Qt uses pkg-config then override pkgconfig from mkspec
- QMAKE_CFLAGS_WAYLAND=$$system(pkg-config --cflags wayland-client 2>/dev/null)
- QMAKE_LIBS_WAYLAND_CLIENT=$$system(pkg-config --libs-only-l wayland-client 2>/dev/null)
- QMAKE_LIBS_WAYLAND_SERVER=$$system(pkg-config --libs-only-l wayland-server 2>/dev/null)
- QMAKE_INCDIR_WAYLAND=$$system("pkg-config --cflags-only-I wayland-client 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'")
- QMAKE_LIBDIR_WAYLAND=$$system("pkg-config --libs-only-L wayland-client 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'")
- QMAKE_DEFINES_WAYLAND=""
-}
-
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_WAYLAND
-DEFINES += $$QMAKE_DEFINES_WAYLAND
-LIBS += $$QMAKE_LIBS_WAYLAND_CLIENT
-LIBS += $$QMAKE_LIBS_WAYLAND_SERVER
-!isEmpty(QMAKE_LIBDIR_WAYLAND) {
- LIBS += -L$$QMAKE_LIBDIR_WAYLAND
-}
-
-!isEmpty(QMAKE_LFLAGS_RPATH) {
- !isEmpty(QMAKE_LIBDIR_WAYLAND) {
- QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${QMAKE_LIBS_WAYLAND}
- }
+ PKGCONFIG += wayland-client wayland-server
+} else {
+ LIBS += -lwayland-client -lwayland-server
}
SOURCES += tst_client.cpp \
diff --git a/tests/auto/compositor/compositor.pro b/tests/auto/compositor/compositor.pro
index 68524f6cf..1da1ba25c 100644
--- a/tests/auto/compositor/compositor.pro
+++ b/tests/auto/compositor/compositor.pro
@@ -1,35 +1,14 @@
-CONFIG += testcase
+CONFIG += testcase link_pkgconfig
TARGET = tst_compositor
QT += testlib
QT += core-private gui-private compositor
!contains(QT_CONFIG, no-pkg-config) {
- #If Qt uses pkg-config then override pkgconfig from mkspec
- QMAKE_CFLAGS_WAYLAND=$$system(pkg-config --cflags wayland-server 2>/dev/null)
- QMAKE_LIBS_WAYLAND_SERVER=$$system(pkg-config --libs-only-l wayland-server 2>/dev/null)
- QMAKE_LIBS_WAYLAND_CLIENT=$$system(pkg-config --libs-only-l wayland-client 2>/dev/null)
- QMAKE_INCDIR_WAYLAND=$$system("pkg-config --cflags-only-I wayland-server 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'")
- QMAKE_LIBDIR_WAYLAND=$$system("pkg-config --libs-only-L wayland-server 2>/dev/null | sed -e 's,^-L,,g' -e 's, -L, ,g'")
- QMAKE_DEFINES_WAYLAND=""
+ PKGCONFIG += wayland-client wayland-server
+} else {
+ LIBS += -lwayland-client -lwayland-server
}
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-QMAKE_CFLAGS += $$QMAKE_CFLAGS_WAYLAND
-DEFINES += $$QMAKE_DEFINES_WAYLAND
-LIBS += $$QMAKE_LIBS_WAYLAND_SERVER
-LIBS += $$QMAKE_LIBS_WAYLAND_CLIENT
-!isEmpty(QMAKE_LIBDIR_WAYLAND) {
- LIBS += -L$$QMAKE_LIBDIR_WAYLAND
-}
-
-!isEmpty(QMAKE_LFLAGS_RPATH) {
- !isEmpty(QMAKE_LIBDIR_WAYLAND) {
- QMAKE_LFLAGS += $${QMAKE_LFLAGS_RPATH}$${QMAKE_LIBS_WAYLAND}
- }
-}
-
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_WAYLAND
-
SOURCES += tst_compositor.cpp testcompositor.cpp mockclient.cpp
HEADERS += testcompositor.h mockclient.h