qt5base-lts/mkspecs/features/default_pre.prf
Oswald Buddenhagen d4db23eb4d another attempt at solving the popping up of .qmake.cache problem
syncqt may generate that file also as a result of configure tests. so
just check for the file's existence instead of trying to reproduce under
which circumstances it should appear.

Change-Id: Ia24f96b05fc70e104f7be19d08cea614ffb505be
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
2012-03-09 20:43:00 +01:00

56 lines
2.1 KiB
Plaintext

load(exclusive_builds)
### Qt 5: remove "uic" and "resources" - or add "qt"
CONFIG = lex yacc warn_on debug uic resources $$CONFIG
!build_pass:exists($$_PRO_FILE_PWD_/sync.profile) {
PRO_BASENAME = $$basename(_PRO_FILE_)
# Try to detect proper QTDIR path. We require QTDIR, as syncqt uses that to create qt_module.pri
# forwarding files. If we don't find QTDIR, we avoid creating the fwd files, since you then need
# to do a 'make install;' before you can use the module
# (ie. we don't use QT_INSTALL_DATA for fwd includes. This path needs a full copy)
isEmpty(QTDIR) {
QTDIR = $$(QTDIR)
isEmpty(QTDIR):QTDIR = $$QT_BUILD_TREE
isEmpty(QTDIR) { # figure out QTDIR based on qmake binary
QMAKE_BASED_QTDIR = $$dirname(QMAKE_QMAKE)
QTDIR = $$dirname(QMAKE_BASED_QTDIR)
unset(QMAKE_BASED_QTDIR)
}
}
QTFWD = -module-fwd $$OUT_PWD/module-paths/modules -cache-module-fwd
!isEmpty(QTDIR):exists($$QTDIR/.qmake.cache) {
# Only if QTDIR points to an actual build directory
# and this build directory is the install directory
# can we tell syncqt to do a -developer-build
win32 {
CMP_QDIR = $$upper($$QTDIR)
CMP_INSTALL_PREFIX = $$upper($$[QT_HOST_PREFIX])
} else {
CMP_QDIR = $$QTDIR
CMP_INSTALL_PREFIX = $$[QT_HOST_PREFIX]
}
contains(CMP_QDIR, $$CMP_INSTALL_PREFIX):QTFWD = -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build
unset(CMP_QDIR)
unset(CMP_INSTALL_PREFIX)
}
qtPrepareTool(QMAKE_SYNCQT, syncqt)
isEmpty(QMAKE_SYNCQT_OUTDIR): QMAKE_SYNCQT_OUTDIR = $$OUT_PWD
MSG = $$quote($$QMAKE_SYNCQT $$QTFWD -generator $$MAKEFILE_GENERATOR -outdir $$QMAKE_SYNCQT_OUTDIR $$_PRO_FILE_PWD_)
!silent:message($$MSG)
system($$MSG) {
# success! Nothing to do
} else {
error("Failed to run: $$MSG")
}
# Let qmake know about the unexpectedly appearing cache file.
exists($$QMAKE_SYNCQT_OUTDIR/.qmake.cache):_QMAKE_CACHE_ = $$QMAKE_SYNCQT_OUTDIR/.qmake.cache
unset(QTFWD)
unset(PRO_BASENAME)
}