summaryrefslogtreecommitdiffstats
path: root/bin/syncqt
diff options
context:
space:
mode:
Diffstat (limited to 'bin/syncqt')
-rwxr-xr-xbin/syncqt36
1 files changed, 18 insertions, 18 deletions
diff --git a/bin/syncqt b/bin/syncqt
index e72a4f1a58..30a870f195 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -811,12 +811,24 @@ my %allmoduleheadersprivate = map { $_ => 1 } @allmoduleheadersprivate;
$isunix = checkUnix; #cache checkUnix
+my $qt_version = fileContents($qtbasedir."/mkspecs/qconfig.pri");
+if (length($qt_version)) {
+ $qt_version =~ s,.*^QT_VERSION\h*=\h*(\S+).*,$1,sm;
+} else {
+ $qt_version = fileContents($basedir."/src/corelib/global/qglobal.h");
+ $qt_version =~ s,.*^#\h*define\h+QT_VERSION_STR\h+"([^"]+)".*,$1,sm;
+}
foreach my $lib (@modules_to_sync) {
#iteration info
my $dir = $modules{$lib};
- my $module_version = "";
- if (-e "$modulepris{$lib}") {
+ my $project = $dir;
+ $project =~ s,/([^/]+)$,/$1/$1.pro,;
+ my $module_version = fileContents($project);
+ $module_version = $qt_version unless ($module_version =~ s,.*^VERSION\h*=\h*(\S+).*,$1,sm);
+
+ # Backwards compatibility for modules with checked in .pri files.
+ if (defined $modulepris{$lib} and -e "$modulepris{$lib}") {
my $content = fileContents($modulepris{$lib});
my @version_rows = grep(/QT\..*\.VERSION/, split('\n', $content));
if(@version_rows) {
@@ -827,7 +839,6 @@ foreach my $lib (@modules_to_sync) {
$module_version =~ s/\s+$//;
}
}
- print "$lib: WARNING: Module\'s pri missing QT.<module>.VERSION variable! Private headers not versioned!\n" if (!$module_version);
my $pathtoheaders = "";
$pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib});
@@ -856,6 +867,7 @@ foreach my $lib (@modules_to_sync) {
my $content = $mastercontent{$_};
$master_contents .= $content if ($content);
}
+ last; #consecutive appearances are assumed to be private dependencies
}
}
close(F);
@@ -1011,17 +1023,9 @@ foreach my $lib (@modules_to_sync) {
}
} elsif ($create_private_headers && !$qpa_header) {
- if ($module_version) {
- @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" );
- } else {
- @headers = ( "$out_basedir/include/$lib/private/$header" );
- }
+ @headers = ( "$out_basedir/include/$lib/$module_version/$lib/private/$header" );
} elsif ($create_private_headers) {
- if ($module_version) {
- @headers = ( "$out_basedir/include/$lib/$module_version/$lib/qpa/$header" );
- } else {
- @headers = ( "$out_basedir/include/$lib/qpa/$header" );
- }
+ @headers = ( "$out_basedir/include/$lib/$module_version/$lib/qpa/$header" );
}
foreach(@headers) { #sync them
@@ -1102,11 +1106,7 @@ foreach my $lib (@modules_to_sync) {
my $header_path = "$out_basedir/include/$lib/";
unless ($public_header) {
- if ($module_version) {
- $header_path .= "$module_version/$lib/private/";
- } else {
- $header_path .= "private/";
- }
+ $header_path .= "$module_version/$lib/private/";
}
$header_path .= "$header";