From 0e6be2aa5dcddbab4e13e55e7f84a1099972f194 Mon Sep 17 00:00:00 2001 From: axis Date: Wed, 18 May 2011 15:23:51 +0200 Subject: Implemented module-local caching of module profiles. We use syncqt to generate .qmake.cache also for submodules, which contains the location of forwarding module profiles for that module. This enables us to build without having to put module profiles into mkspecs/modules until install time. Also added support for -developer-build to syncqt. What it does is to point build directories for binaries and libraries to a common location in QtBase. This is more convenient when doing development, since you don't need to set your path to every module's bin/ directory, but it cannot be used with release builds, since they need to build independently of QtBase, in their own directory. Change-Id: I959c62c11c644f2147a98da894a72452d9c44327 Task: QTBUG-19585 Task: QTBUG-19583 Reviewed-on: http://codereview.qt.nokia.com/232 Reviewed-by: Qt Sanity Bot Reviewed-by: Marius Storm-Olsen --- mkspecs/features/default_pre.prf | 8 ++++++-- mkspecs/features/qt_config.prf | 10 +++++----- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf index 7088eb444e..86ad9eb764 100644 --- a/mkspecs/features/default_pre.prf +++ b/mkspecs/features/default_pre.prf @@ -14,8 +14,12 @@ exists($$_PRO_FILE_PWD_/sync.profile) { isEmpty(QTDIR):QTDIR = $$QT_BUILD_TREE } - isEmpty(QTDIR):QTFWD="-no-module-fwd" - else:QTFWD="-qtdir $$QTDIR" + QTFWD = + isEmpty(QTDIR) { + QTFWD += -module-fwd $$OUT_PWD/module-paths/modules -cache-module-fwd + } else { + QTFWD += -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build + } message("Running syncqt for $$PRO_BASENAME in $$OUT_PWD") qtPrepareTool(QMAKE_SYNCQT, syncqt) diff --git a/mkspecs/features/qt_config.prf b/mkspecs/features/qt_config.prf index 01b5a796a5..3d0028c3a3 100644 --- a/mkspecs/features/qt_config.prf +++ b/mkspecs/features/qt_config.prf @@ -14,12 +14,12 @@ isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) { debug(1, "Cannot load qconfig.pri!") } else { debug(1, "Loaded .qconfig.pri from ($$QMAKE_QT_CONFIG)") - for(dir, $$list($$unique($$list($$dirname(QMAKE_QT_CONFIG) \ - $$replace($$list($$split($$list($$(QMAKEPATH)), $$DIRLIST_SEPARATOR)), $, /mkspecs) \ - $$QMAKE_EXTRA_MODULE_FORWARDS \ - )))) { + for(dir, $$list($$unique($$list($$replace($$list($$dirname(QMAKE_QT_CONFIG) \ + $$replace($$list($$split($$list($$(QMAKEPATH)), $$DIRLIST_SEPARATOR)), $, /mkspecs)), \ + $, /modules) \ + $$QMAKE_EXTRA_MODULE_FORWARDS)))) { debug(1, "Loading modules from $${dir}") - for(mod, $$list($$files($$dir/modules/qt_*.pri))) { + for(mod, $$list($$files($$dir/qt_*.pri))) { # For installed Qt these paths will be common for all modules # For development these will vary per module, and syncqt will override the value in the # qt_.pri forwarding file -- cgit v1.2.3