diff options
Diffstat (limited to 'mkspecs/features/default_pre.prf')
-rw-r--r-- | mkspecs/features/default_pre.prf | 54 |
1 files changed, 16 insertions, 38 deletions
diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf index 2876e7d29e..65bd1da7c1 100644 --- a/mkspecs/features/default_pre.prf +++ b/mkspecs/features/default_pre.prf @@ -1,45 +1,24 @@ load(exclusive_builds) -### Qt 5: remove "uic" and "resources" - or add "qt" -CONFIG = lex yacc warn_on debug uic resources exceptions $$CONFIG +CONFIG = lex yacc warn_on debug exceptions $$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) + # If the install directory is a build directory, we tell syncqt to do a -developer-build. + QTDIR = $$[QT_HOST_DATA] + exists($$QTDIR/.qmake.cache) { + QTFWD = -module-fwd $$QTDIR/mkspecs/modules -developer-build + } else { + isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$OUT_PWD + modpath = $$MODULE_QMAKE_OUTDIR/mkspecs/modules + QTFWD = -module-fwd $$modpath + !isEmpty(_QMAKE_SUPER_CACHE_):!contains(QMAKEMODULES, $$modpath): \ + cache(QMAKEMODULES, add super, modpath) + unset(modpath) } 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_) + isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$OUT_PWD + MSG = $$quote($$QMAKE_SYNCQT -qtdir $$[QT_HOST_DATA/get] $$QTFWD -outdir $$MODULE_BASE_OUTDIR $$_PRO_FILE_PWD_) !silent:message($$MSG) system($$MSG) { # success! Nothing to do @@ -47,11 +26,10 @@ CONFIG = lex yacc warn_on debug uic resources exceptions $$CONFIG 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 + # Do configure tests now. Fatal tests have a non zero return. + system("perl $$[QT_HOST_BINS/get]/qtmodule-configtests $$_PRO_FILE_PWD_ $$OUT_PWD $$[QT_HOST_PREFIX/get] $$MAKEFILE_GENERATOR")|error("Aborting.") unset(QTFWD) - unset(PRO_BASENAME) } # Populate the installdir which will be passed to qdoc in the default_post.prf |