From 273715fc9becb54996e28fda5ea5fb1624d571a2 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Fri, 13 Jan 2012 10:57:26 +0100 Subject: [PATCH] Put the generated version.h into build tree It was put in source tree before. Task-number: QTBUG-20439 Change-Id: Ib52d9c2e83ae375aad259ddc74138bbc728b3ed0 Reviewed-by: Oswald Buddenhagen Reviewed-by: Thiago Macieira --- bin/syncqt | 27 ++++++++++++++++++++++----- src/corelib/corelib.pro | 2 +- src/dbus/dbus.pro | 2 +- src/gui/gui.pro | 2 +- src/network/network.pro | 2 +- src/opengl/opengl.pro | 2 +- src/platformsupport/platformsupport.pro | 2 +- src/printsupport/printsupport.pro | 2 +- src/sql/sql.pro | 2 +- src/testlib/testlib.pro | 2 +- src/widgets/widgets.pro | 2 +- src/xml/xml.pro | 2 +- 12 files changed, 33 insertions(+), 16 deletions(-) diff --git a/bin/syncqt b/bin/syncqt index 1c9222c..88f627d 100755 --- a/bin/syncqt +++ b/bin/syncqt @@ -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 = "" . 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 = "" . substr($new_header_dirname, length($basedir)) if ($new_header_dirname && $verbose_level < 2); + if ($new_header_dirname && $verbose_level < 2) { + $new_header_dirname = "" . substr($new_header_dirname, length($basedir)) if ($new_header_dirname =~ /$basedir/); + $new_header_dirname = "" . 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 = "" . substr($iheader, length($basedir)) if ($verbose_level == 3); + if ($verbose_level == 3) { + $iheader = "" . substr($iheader, length($basedir)) if ($iheader =~ /$basedir/); + $iheader = "" . substr($iheader, length($out_basedir)) if ($iheader =~ /$out_basedir/); + } print "$lib: created $header_copies fwd-include headers for $iheader\n"; } } diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index ba741c6..85d71aa 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -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) diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index 6fd48de..0ce381b 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -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 \ diff --git a/src/gui/gui.pro b/src/gui/gui.pro index db04593..8856894 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -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) diff --git a/src/network/network.pro b/src/network/network.pro index 671b7fd..839f944 100644 --- a/src/network/network.pro +++ b/src/network/network.pro @@ -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) diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 89f8d0a..989edaf 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -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 diff --git a/src/platformsupport/platformsupport.pro b/src/platformsupport/platformsupport.pro index 36323d9..de4b835 100644 --- a/src/platformsupport/platformsupport.pro +++ b/src/platformsupport/platformsupport.pro @@ -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 diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro index 0aa92a9..d5ff307 100644 --- a/src/printsupport/printsupport.pro +++ b/src/printsupport/printsupport.pro @@ -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 diff --git a/src/sql/sql.pro b/src/sql/sql.pro index dbeed14..1730a3b 100644 --- a/src/sql/sql.pro +++ b/src/sql/sql.pro @@ -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 diff --git a/src/testlib/testlib.pro b/src/testlib/testlib.pro index 26769f9..d22d8e4 100644 --- a/src/testlib/testlib.pro +++ b/src/testlib/testlib.pro @@ -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 \ diff --git a/src/widgets/widgets.pro b/src/widgets/widgets.pro index 8f6a971..a48d096 100644 --- a/src/widgets/widgets.pro +++ b/src/widgets/widgets.pro @@ -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) diff --git a/src/xml/xml.pro b/src/xml/xml.pro index e860250..252bba7 100644 --- a/src/xml/xml.pro +++ b/src/xml/xml.pro @@ -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 -- 2.7.4