summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/qt_configure.prf14
1 files changed, 14 insertions, 0 deletions
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 82b97657d9..7744695b93 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -612,6 +612,9 @@ defineReplace(qtConfLibraryArgs) {
defineTest(qtConfExportLibrary) {
lpfx = $${currentConfig}.libraries.$$1
+ alias = $$eval($${lpfx}.alias)
+ $${currentConfig}.found.$$alias = $$1
+ export($${currentConfig}.found.$$alias)
name = $$eval($${lpfx}.export)
isEmpty(name): return()
spfx = $${lpfx}.sources.$$eval($${lpfx}.source)
@@ -658,6 +661,17 @@ defineTest(qtConfHandleLibrary) {
lpfx = $${currentConfig}.libraries.$$1
defined($${lpfx}.result, var): return()
+ alias = $$eval($${lpfx}.alias)
+ !isEmpty($${currentConfig}.found.$$alias) {
+ # this happening indicates a logic error in the conditions
+ # of the feature(s) referring to this library.
+ # note that this does not look across module boundaries, as
+ # multiple modules may know the same libraries; de-duplication
+ # happens via the cache (obviously, this assumes identical
+ # definitions and logic).
+ error("A library exporting '$$alias' was already found.")
+ }
+
qtConfEnsureTestTypeDeps("library")
qtConfTestPrepare_compile($$lpfx)
use_args = $$eval($${lpfx}.literal_args)