From cd8b7fb86517cda1adbfe8fda7beaafddfe5c9bb Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 29 Sep 2016 17:57:53 +0200 Subject: [PATCH] make QMAKE_USE parameterizable it's now possible to declare references which don't cause linking (or cause only linking). make use of this in the xcb-static library. Change-Id: Ic429e0a1200b3a333738ea8d8e576ff64b6cac21 Reviewed-by: Laszlo Agocs Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qmake_use.prf | 13 +++++++++---- src/plugins/platforms/xcb/xcb-static/xcb-static.pro | 3 +-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/mkspecs/features/qmake_use.prf b/mkspecs/features/qmake_use.prf index 41d959cf83..a8e2e6c417 100644 --- a/mkspecs/features/qmake_use.prf +++ b/mkspecs/features/qmake_use.prf @@ -1,7 +1,9 @@ suffix = for(ever) { QMAKE_USE$${suffix} = $$unique(QMAKE_USE$${suffix}) - for (name, QMAKE_USE$${suffix}) { + for (use, QMAKE_USE$${suffix}) { + use = $$split(use, /) + name = $$take_first(use) nu = $$upper($$name) debug: \ libs = $$eval(QMAKE_LIBS_$${nu}_DEBUG) @@ -13,9 +15,12 @@ for(ever) { isEmpty(libs):isEmpty(cflags): \ error("Library '$$name' is not defined.") - LIBS$${suffix} += $$libs - QMAKE_CFLAGS += $$cflags - QMAKE_CXXFLAGS += $$cflags + !contains(use, nolink): \ + LIBS$${suffix} += $$libs + !contains(use, linkonly) { + QMAKE_CFLAGS += $$cflags + QMAKE_CXXFLAGS += $$cflags + } } !isEmpty(suffix): break() suffix = "_PRIVATE" diff --git a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro b/src/plugins/platforms/xcb/xcb-static/xcb-static.pro index 20481e4834..a1dec2b0b5 100644 --- a/src/plugins/platforms/xcb/xcb-static/xcb-static.pro +++ b/src/plugins/platforms/xcb/xcb-static/xcb-static.pro @@ -11,8 +11,7 @@ XCB_DIR = ../../../../3rdparty/xcb INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB -QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB +QMAKE_USE += xcb/nolink # ignore compiler warnings in 3rdparty code QMAKE_CFLAGS_STATIC_LIB+=-w