fix setting QTDIR_build for default_pre.prf

adding it to the super cache makes no sense, as that's read before
spec_pre.prf, which clears CONFIG. use the regular cache instead.

submodules do not inherit that setting, and they don't need to as per
comment.

also, don't keep adding it to the cache - the cache() function doesn't
check whether the added value is already present, so we need to do that
manually.

amends 31590c0b65.

Fixes: QTBUG-63452
Change-Id: I608559a80a7c772dbdaacfaaadb4fc268b442c39
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This commit is contained in:
Oswald Buddenhagen
2018-10-12 16:30:03 +02:00
committed by Liang Qi
parent 4061156381
commit 4c2fea3d5d

12
qt.pro
View File

@@ -1,7 +1,13 @@
# Create the super cache so modules will add themselves to it.
# Also suppress the license check on subsequent "visits". The first
# visit will skip it anyway due to not having a compiler set up yet.
cache(CONFIG, add super, $$list(QTDIR_build))
cache(, super)
# Suppress the license check on subsequent "visits". The first
# visit will skip it anyway due to not having a compiler set up
# yet. This cannot be added to the super cache, because that is
# read before spec_pre.prf, which flushes CONFIG. This does not
# affect submodules, as they come with a .qmake.conf. But that
# one sets the flag via qt_build_config.prf anyway.
!QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build))
TEMPLATE = subdirs