summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qt_configure.prf34
1 files changed, 27 insertions, 7 deletions
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index bdf9f21fc9..38305890b5 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -675,13 +675,33 @@ defineTest(qtConfTest_library) {
defineTest(qtConfTestPrepare_compile) {
for (u, $$list($$eval($${1}.use))) {
- !contains($${currentConfig}.libraries._KEYS_, $$u): \
- error("Test $$1 tries to use undeclared library '$$u'")
- qtConfHandleLibrary($$u)
- lpfx = $${currentConfig}.libraries.$${u}
- isEmpty($${lpfx}.source): \
- return(false)
- $${1}.literal_args += $$qtConfLibraryArgs($${lpfx}.sources.$$eval($${lpfx}.source))
+ libConfig =
+ contains($${currentConfig}.libraries._KEYS_, $$u) {
+ libConfig = $${currentConfig}
+ qtConfHandleLibrary($$u)
+ } else {
+ for (d, QMAKE_CONFIG_DEPS) {
+ contains($${d}.libraries._KEYS_, $$u) {
+ libConfig = $$d
+ break()
+ }
+ }
+ }
+ isEmpty(libConfig) {
+ nu = $$upper($$u)
+ libs = $$eval(QMAKE_LIBS_$$nu) $$eval(QMAKE_LIBS_$${nu}_DEBUG) $$eval(QMAKE_LIBS_$${nu}_RELEASE)
+ defines = $$eval(QMAKE_DEFINES_$${nu})
+ includes = $$eval(QMAKE_INCDIR_$${nu})
+
+ isEmpty(libs):isEmpty(defines):isEmpty(includes): \
+ error("Test $$1 tries to use undeclared library '$$u'")
+ $${1}.literal_args += $$system_quote(QMAKE_USE += $$u)
+ } else {
+ lpfx = $${libConfig}.libraries.$${u}
+ isEmpty($${lpfx}.source): \
+ return(false)
+ $${1}.literal_args += $$qtConfLibraryArgs($${lpfx}.sources.$$eval($${lpfx}.source))
+ }
}
export($${1}.literal_args)
return(true)