Introduce standard pkg-config usage
authorDonald Carr <donald.carr@nokia.com>
Wed, 6 Jun 2012 20:10:11 +0000 (20:10 +0000)
committerJørgen Lind <jorgen.lind@nokia.com>
Mon, 11 Jun 2012 10:57:00 +0000 (12:57 +0200)
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>
config.tests/xkbcommon/xkbcommon.pro
examples/qml-compositor/qml-compositor.pro
examples/qwidget-compositor/qwidget-compositor.pro
examples/qwindow-compositor/qwindow-compositor.pro
src/compositor/compositor.pri
src/compositor/compositor.pro
src/plugins/platforms/wayland/wayland.pro
tests/auto/client/client.pro
tests/auto/compositor/compositor.pro

index facc28e..e21015b 100644 (file)
@@ -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
index dd99f8c..0bc0b02 100644 (file)
@@ -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
index beec269..20dce5a 100644 (file)
@@ -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
index 068b088..465c0d9 100644 (file)
@@ -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)
 
index 77467c2..d133913 100644 (file)
@@ -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
index 7125417..850e350 100644 (file)
@@ -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)
 
index 92a04c0..2059826 100644 (file)
@@ -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
index 9a7e2c8..a92aa88 100644 (file)
@@ -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 \
index 68524f6..1da1ba2 100644 (file)
@@ -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