recognize QMAKEMODULES env var, property and cache variable
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>
Thu, 10 May 2012 13:34:05 +0000 (15:34 +0200)
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>
Tue, 19 Jun 2012 14:46:03 +0000 (16:46 +0200)
the latter allows sub-projects to dynamically extend the qmake search path
specifically for modules. the others are just for congruency with
QMAKEPATH and QMAKEFEATURES.

Change-Id: I0c099035f8dc8ee8645566dbc635644a15ed9da5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
mkspecs/features/qt_config.prf

index d797775..f8ef178 100644 (file)
@@ -3,9 +3,15 @@ QMAKE_QT_CONFIG = $$[QT_HOST_DATA/get]/mkspecs/qconfig.pri
    debug(1, "Cannot load qconfig.pri!")
 } else {
    debug(1, "Loaded .qconfig.pri from ($$QMAKE_QT_CONFIG)")
-   for(dir, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) {
+   QMAKE_MODULE_PATH = $$split($$list($$(QMAKEMODULES)), $$DIRLIST_SEPARATOR)
+   QMAKE_MODULE_PATH += $$QMAKEMODULES
+   QMAKE_MODULE_PATH += $$split($$list($$[QMAKEMODULES]), $$DIRLIST_SEPARATOR)
+   QMAKE_MODULE_PATH += $$replace($$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR)), \
+                                  \$, /modules)
+   QMAKE_MODULE_PATH = $$unique(QMAKE_MODULE_PATH)
+   for(dir, QMAKE_MODULE_PATH) {
       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_<module>.pri forwarding file