Make each module refer to its own bin/
authorMarius Storm-Olsen <marius.storm-olsen@nokia.com>
Thu, 6 Jan 2011 18:52:17 +0000 (12:52 -0600)
committeraxis <qt-info@nokia.com>
Wed, 27 Apr 2011 10:05:51 +0000 (12:05 +0200)
Since modules cannot rely on QtCore having a build directory, nor
can they build the applications directly into $$[QT_INSTALL_BINS]
each module needs their own bin/. Add this path to each module's
pri file, so others can use their applications

bin/syncqt
mkspecs/features/qt_config.prf
mkspecs/features/qt_functions.prf
src/modules/qt_core.pri
src/modules/qt_dbus.pri
src/modules/qt_network.pri
src/modules/qt_opengl.pri
src/modules/qt_openvg.pri
src/modules/qt_sql.pri
src/modules/qt_testlib.pri
src/modules/qt_xml.pri

index 6af59c4..a5434ca 100755 (executable)
@@ -1008,6 +1008,7 @@ foreach my $lib (@modules_to_sync) {
                 my $moduleprifwd = "$qtbasedir/mkspecs/modules/$modulepriname";
                 open MODULE_PRI_FILE, ">$moduleprifwd";
                 print MODULE_PRI_FILE "QT_MODULE_BASE = $basedir\n";
                 my $moduleprifwd = "$qtbasedir/mkspecs/modules/$modulepriname";
                 open MODULE_PRI_FILE, ">$moduleprifwd";
                 print MODULE_PRI_FILE "QT_MODULE_BASE = $basedir\n";
+                print MODULE_PRI_FILE "QT_MODULE_BIN_BASE = $out_basedir/bin\n";
                 print MODULE_PRI_FILE "QT_MODULE_INCLUDE_BASE = $out_basedir/include\n";
                 print MODULE_PRI_FILE "QT_MODULE_LIB_BASE = $out_basedir/lib\n";
                 print MODULE_PRI_FILE "include($modulepri)\n";
                 print MODULE_PRI_FILE "QT_MODULE_INCLUDE_BASE = $out_basedir/include\n";
                 print MODULE_PRI_FILE "QT_MODULE_LIB_BASE = $out_basedir/lib\n";
                 print MODULE_PRI_FILE "include($modulepri)\n";
index 2973c7e..7e80ad3 100644 (file)
@@ -20,6 +20,7 @@ isEmpty(QMAKE_QT_CONFIG)|!exists($$QMAKE_QT_CONFIG) {
          # qt_<module>.pri forwarding file
          QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
          QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS]
          # qt_<module>.pri forwarding file
          QT_MODULE_INCLUDE_BASE = $$[QT_INSTALL_HEADERS]
          QT_MODULE_LIB_BASE = $$[QT_INSTALL_LIBS]
+         QT_MODULE_BIN_BASE = $$[QT_INSTALL_BINS]
          include($$mod)
       }
    }
          include($$mod)
       }
    }
index b9b0fd8..df4508d 100644 (file)
@@ -157,10 +157,13 @@ defineTest(qtAddModule) {
 
 # variable, default
 defineTest(qtPrepareTool) {
 
 # variable, default
 defineTest(qtPrepareTool) {
-    isEmpty($$1) {
-        !isEmpty(QT_BUILD_TREE):$$1 = $$QT_BUILD_TREE/bin/$$2
-        else:$$1 = $$[QT_INSTALL_BINS]/$$2
+    MODBASE = $$[QT_INSTALL_BINS]
+    !isEmpty(QT_BUILD_TREE):MODBASE = $$QT_BUILD_TREE/bin
+    count(ARGS, 2, greaterThan) {
+        isEmpty(QT.$${3}.bins):warning("No QT.$${3}.bins, module path ignored for qtPrepareTool($$1, $$2, $$3)")
+        else:MODBASE = $$eval(QT.$${3}.bins)
     }
     }
+    isEmpty($$1):$$1 = $$MODBASE/$$2
     $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
     contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
         exists($$eval($$1).bat) {
     $$1 ~= s,[/\\\\],$$QMAKE_DIR_SEP,
     contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
         exists($$eval($$1).bat) {
index 494f96f..99f3fa6 100644 (file)
@@ -4,6 +4,7 @@ QT_CORE_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_CORE_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.core.name = QtCore
 QT_CORE_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.core.name = QtCore
+QT.core.bins = $$QT_MODULE_BIN_BASE
 QT.core.includes = $$QT_MODULE_INCLUDE_BASE/QtCore
 QT.core.private_includes = $$QT_MODULE_INCLUDE_BASE/QtCore/private
 QT.core.sources = $$QT_MODULE_BASE/src/corelib
 QT.core.includes = $$QT_MODULE_INCLUDE_BASE/QtCore
 QT.core.private_includes = $$QT_MODULE_INCLUDE_BASE/QtCore/private
 QT.core.sources = $$QT_MODULE_BASE/src/corelib
index 73fdf99..74949b1 100644 (file)
@@ -4,6 +4,7 @@ QT_DBUS_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_DBUS_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.dbus.name = QtDBus
 QT_DBUS_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.dbus.name = QtDBus
+QT.dbus.bins = $$QT_MODULE_BIN_BASE
 QT.dbus.includes = $$QT_MODULE_INCLUDE_BASE/QtDBus
 QT.dbus.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDBus/private
 QT.dbus.sources = $$QT_MODULE_BASE/src/dbus
 QT.dbus.includes = $$QT_MODULE_INCLUDE_BASE/QtDBus
 QT.dbus.private_includes = $$QT_MODULE_INCLUDE_BASE/QtDBus/private
 QT.dbus.sources = $$QT_MODULE_BASE/src/dbus
index c8b1f00..37c941b 100644 (file)
@@ -4,6 +4,7 @@ QT_NETWORK_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_NETWORK_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.network.name = QtNetwork
 QT_NETWORK_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.network.name = QtNetwork
+QT.network.bins = $$QT_MODULE_BIN_BASE
 QT.network.includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork
 QT.network.private_includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/private
 QT.network.sources = $$QT_MODULE_BASE/src/network
 QT.network.includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork
 QT.network.private_includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/private
 QT.network.sources = $$QT_MODULE_BASE/src/network
index eb47b00..0bd0df7 100644 (file)
@@ -4,6 +4,7 @@ QT_OPENGL_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_OPENGL_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.opengl.name = QtOpenGL
 QT_OPENGL_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.opengl.name = QtOpenGL
+QT.opengl.bins = $$QT_MODULE_BIN_BASE
 QT.opengl.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL
 QT.opengl.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL/private
 QT.opengl.sources = $$QT_MODULE_BASE/src/opengl
 QT.opengl.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL
 QT.opengl.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenGL/private
 QT.opengl.sources = $$QT_MODULE_BASE/src/opengl
index 09811ba..9a3ef8b 100644 (file)
@@ -4,6 +4,7 @@ QT_OPENVG_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_OPENVG_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.openvg.name = QtOpenVG
 QT_OPENVG_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.openvg.name = QtOpenVG
+QT.openvg.bins = $$QT_MODULE_BIN_BASE
 QT.openvg.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG
 QT.openvg.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG/private
 QT.openvg.sources = $$QT_MODULE_BASE/src/openvg
 QT.openvg.includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG
 QT.openvg.private_includes = $$QT_MODULE_INCLUDE_BASE/QtOpenVG/private
 QT.openvg.sources = $$QT_MODULE_BASE/src/openvg
index 42dde1b..d9b856e 100644 (file)
@@ -4,6 +4,7 @@ QT_SQL_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_SQL_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.sql.name = QtSql
 QT_SQL_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.sql.name = QtSql
+QT.sql.bins = $$QT_MODULE_BIN_BASE
 QT.sql.includes = $$QT_MODULE_INCLUDE_BASE/QtSql
 QT.sql.private_includes = $$QT_MODULE_INCLUDE_BASE/QtSql/private
 QT.sql.sources = $$QT_MODULE_BASE/src/sql
 QT.sql.includes = $$QT_MODULE_INCLUDE_BASE/QtSql
 QT.sql.private_includes = $$QT_MODULE_INCLUDE_BASE/QtSql/private
 QT.sql.sources = $$QT_MODULE_BASE/src/sql
index 5971808..7e9ca09 100644 (file)
@@ -4,6 +4,7 @@ QT_TEST_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_TEST_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.testlib.name = QtTest
 QT_TEST_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.testlib.name = QtTest
+QT.testlib.bins = $$QT_MODULE_BIN_BASE
 QT.testlib.includes = $$QT_MODULE_INCLUDE_BASE/QtTest
 QT.testlib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtTest/private
 QT.testlib.sources = $$QT_MODULE_BASE/src/testlib
 QT.testlib.includes = $$QT_MODULE_INCLUDE_BASE/QtTest
 QT.testlib.private_includes = $$QT_MODULE_INCLUDE_BASE/QtTest/private
 QT.testlib.sources = $$QT_MODULE_BASE/src/testlib
index c0c630c..c967cd7 100644 (file)
@@ -4,6 +4,7 @@ QT_XML_MINOR_VERSION = $$QT_MINOR_VERSION
 QT_XML_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.xml.name = QtXml
 QT_XML_PATCH_VERSION = $$QT_PATCH_VERSION
 
 QT.xml.name = QtXml
+QT.xml.bins = $$QT_MODULE_BIN_BASE
 QT.xml.includes = $$QT_MODULE_INCLUDE_BASE/QtXml
 QT.xml.private_includes = $$QT_MODULE_INCLUDE_BASE/QtXml/private
 QT.xml.sources = $$QT_MODULE_BASE/src/xml
 QT.xml.includes = $$QT_MODULE_INCLUDE_BASE/QtXml
 QT.xml.private_includes = $$QT_MODULE_INCLUDE_BASE/QtXml/private
 QT.xml.sources = $$QT_MODULE_BASE/src/xml