Put the generated <module>version.h into build tree
authorLiang Qi <liang.qi@nokia.com>
Fri, 13 Jan 2012 09:57:26 +0000 (10:57 +0100)
committerQt by Nokia <qt-info@nokia.com>
Sat, 28 Jan 2012 13:44:48 +0000 (14:44 +0100)
It was put in source tree before.

Task-number: QTBUG-20439
Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 files changed:
bin/syncqt
src/corelib/corelib.pro
src/dbus/dbus.pro
src/gui/gui.pro
src/network/network.pro
src/opengl/opengl.pro
src/platformsupport/platformsupport.pro
src/printsupport/printsupport.pro
src/sql/sql.pro
src/testlib/testlib.pro
src/widgets/widgets.pro
src/xml/xml.pro

index 1c9222c..88f627d 100755 (executable)
@@ -72,6 +72,9 @@ $qtbasedir =~ s=\\=/=g if (defined $qtbasedir);
 # will be defined based on the modules sync.profile
 our (%modules, %moduleheaders, @allmoduleheadersprivate, %classnames, %mastercontent, %modulepris, %explicitheaders, %deprecatedheaders);
 
+# store the build path for %modules
+my %modules_build = ();
+
 # global variables (modified by options)
 my $isunix = 0;
 my $module = 0;
@@ -831,6 +834,14 @@ my %allmoduleheadersprivate = map { $_ => 1 } @allmoduleheadersprivate;
 $isunix = checkUnix; #cache checkUnix
 
 foreach my $lib (@modules_to_sync) {
+    my $modulebuildpath = "$out_basedir" . substr($modules{$lib}, length($basedir));
+    unless(-e $modulebuildpath) {
+        make_path($modulebuildpath, $lib, $verbose_level);
+    }
+    $modules_build{$lib} = $modulebuildpath;
+}
+
+foreach my $lib (@modules_to_sync) {
     #iteration info
     my $dir = $modules{$lib};
     my $module_version = "";
@@ -933,8 +944,7 @@ foreach my $lib (@modules_to_sync) {
         my $modulepri = $modulepris{$lib};
         if (-e $modulepri) {
             my $modulepriname = basename($modulepri);
-            # FIXME: this creates a file in the source location for shadow-builds
-            my $moduleversionheader = "$modules{$lib}/" . lc($lib) . "version.h";
+            my $moduleversionheader = $modules_build{$lib} . "/" . lc($lib) . "version.h";
             my $modulehexstring = sprintf("0x%02X%02X%02X", $module_major_version, $module_minor_version, $module_patch_version);
             open MODULE_VERSION_HEADER_FILE, ">$moduleversionheader" or die "Can't open $moduleversionheader for writing";
             print MODULE_VERSION_HEADER_FILE "/* This file was generated by syncqt with the info from sync.profile. */\n";
@@ -947,7 +957,6 @@ foreach my $lib (@modules_to_sync) {
             print MODULE_VERSION_HEADER_FILE "\n";
             print MODULE_VERSION_HEADER_FILE "#endif // QT_". uc($lib) . "_VERSION_H\n";
             close MODULE_VERSION_HEADER_FILE;
-            $moduleversionheader = "<srcbase>" . substr($moduleversionheader, length($basedir)) if ($verbose_level < 2);
             print "$lib: created version header $moduleversionheader\n" if($verbose_level);
         } elsif ($modulepri) {
             print "$lib: WARNING: Module\'s pri file '$modulepri' not found.\n$lib: Skipped creating module version header.\n";
@@ -966,6 +975,8 @@ foreach my $lib (@modules_to_sync) {
         foreach my $headers_dir (@headers_paths) {
             #calc subdirs
             my @subdirs = ($headers_dir);
+            #add the path for version header
+            push(@subdirs, $modules_build{$lib}) if ($modules_build{$lib});
             foreach my $subdir (@subdirs) {
                 opendir DIR, $subdir or next;
                 foreach my $t (sort readdir(DIR)) {
@@ -1089,7 +1100,10 @@ foreach my $lib (@modules_to_sync) {
 
                         if ($verbose_level && $header_copies) {
                             my $new_header_dirname = dirname($iheader);
-                            $new_header_dirname = "<srcbase>" . substr($new_header_dirname, length($basedir)) if ($new_header_dirname && $verbose_level < 2);
+                            if ($new_header_dirname && $verbose_level < 2) {
+                                $new_header_dirname = "<srcbase>" . substr($new_header_dirname, length($basedir)) if ($new_header_dirname =~ /$basedir/);
+                                $new_header_dirname = "<outbase>" . substr($new_header_dirname, length($out_basedir)) if ($new_header_dirname =~ /$out_basedir/);
+                            }
                             my $header_base = basename($iheader);
                             if ($verbose_level < 3) {
                                 my $line_prefix = ",";
@@ -1102,7 +1116,10 @@ foreach my $lib (@modules_to_sync) {
                                 }
                                 print "$line_prefix $header_base ($header_copies)";
                             } else { # $verbose_level >= 3
-                                $iheader = "<srcbase>" . substr($iheader, length($basedir)) if ($verbose_level == 3);
+                                if ($verbose_level == 3) {
+                                    $iheader = "<srcbase>" . substr($iheader, length($basedir)) if ($iheader =~ /$basedir/);
+                                    $iheader = "<outbase>" . substr($iheader, length($out_basedir)) if ($iheader =~ /$out_basedir/);
+                                }
                                 print "$lib: created $header_copies fwd-include headers for $iheader\n";
                             }
                         }
index ba741c6..85d71aa 100644 (file)
@@ -14,7 +14,7 @@ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/corelib/qtcoreversion.h
+HEADERS += $$OUT_PWD/qtcoreversion.h
 
 include(animation/animation.pri)
 include(arch/arch.pri)
index 6fd48de..0ce381b 100644 (file)
@@ -33,7 +33,7 @@ win32 {
 }
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/dbus/qtdbusversion.h
+HEADERS += $$OUT_PWD/qtdbusversion.h
 
 PUB_HEADERS = qdbusargument.h \
     qdbusconnectioninterface.h \
index db04593..8856894 100644 (file)
@@ -21,7 +21,7 @@ testcocoon {
     load(testcocoon)
 }
 
-HEADERS += $$QT_SOURCE_TREE/src/gui/qtguiversion.h
+HEADERS += $$OUT_PWD/qtguiversion.h
 
 include(accessible/accessible.pri)
 include(kernel/kernel.pri)
index 671b7fd..839f944 100644 (file)
@@ -22,7 +22,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/network/qtnetworkversion.h
+HEADERS += $$OUT_PWD/qtnetworkversion.h
 
 include(access/access.pri)
 include(bearer/bearer.pri)
index 89f8d0a..989edaf 100644 (file)
@@ -17,7 +17,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/opengl/qtopenglversion.h
+HEADERS += $$OUT_PWD/qtopenglversion.h
 
 contains(QT_CONFIG, opengl):CONFIG += opengl
 contains(QT_CONFIG, opengles1):CONFIG += opengles1
index 36323d9..de4b835 100644 (file)
@@ -19,7 +19,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
 
 include(../qbase.pri)
 
-HEADERS += $$PWD/qtplatformsupportversion.h
+HEADERS += $$OUT_PWD/qtplatformsupportversion.h
 
 DEFINES += QT_NO_CAST_FROM_ASCII
 PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
index 0aa92a9..d5ff307 100644 (file)
@@ -13,7 +13,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/printsupport/qtprintsupportversion.h
+HEADERS += $$OUT_PWD/qtprintsupportversion.h
 
 QMAKE_LIBS += $$QMAKE_LIBS_PRINTSUPPORT
 
index dbeed14..1730a3b 100644 (file)
@@ -15,7 +15,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/sql/qtsqlversion.h
+HEADERS += $$OUT_PWD/qtsqlversion.h
 
 DEFINES += QT_NO_CAST_FROM_ASCII
 PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
index 26769f9..d22d8e4 100644 (file)
@@ -76,7 +76,7 @@ mac {
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/testlib/qttestversion.h
+HEADERS += $$OUT_PWD/qttestversion.h
 
 QMAKE_TARGET_PRODUCT = QTestLib
 QMAKE_TARGET_DESCRIPTION = Qt \
index 8f6a971..a48d096 100644 (file)
@@ -13,7 +13,7 @@ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused
 
 unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore
 
-HEADERS += $$QT_SOURCE_TREE/src/widgets/qtwidgetsversion.h
+HEADERS += $$OUT_PWD/qtwidgetsversion.h
 
 include(../qbase.pri)
 
index e860250..252bba7 100644 (file)
@@ -14,7 +14,7 @@ unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore
 
 load(qt_module_config)
 
-HEADERS += $$QT_SOURCE_TREE/src/xml/qtxmlversion.h
+HEADERS += $$OUT_PWD/qtxmlversion.h
 
 PRECOMPILED_HEADER = ../corelib/global/qt_pch.h