summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2017-10-23 15:42:52 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2017-11-02 15:23:18 +0000
commit196f295b928fd67c931b55fde5f6097e4cc3c78f (patch)
treefa56a55765b1aaf7221eab7a6ef576f3124ab352 /bin
parentf4090b23b98c132c47237e4695bc4dc93170cbe0 (diff)
Fix shadow prefix framework builds
Bundle data source files which don't exist at qmake time need to be handled specially. This also required splitting the generated list of public headers, as was already done for private ones. Task-number: QTBUG-60413 Change-Id: I97acfa88622da6b73839b8f976f73ace3cb10223 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'bin')
-rwxr-xr-xbin/syncqt.pl21
1 files changed, 14 insertions, 7 deletions
diff --git a/bin/syncqt.pl b/bin/syncqt.pl
index d62ffcbc37..e741f22f65 100755
--- a/bin/syncqt.pl
+++ b/bin/syncqt.pl
@@ -925,6 +925,7 @@ foreach my $lib (@modules_to_sync) {
#information used after the syncing
my $pri_install_classes = "";
my $pri_install_files = "";
+ my $pri_install_ifiles = "";
my $pri_install_pfiles = "";
my $pri_install_ipfiles = "";
my $pri_install_qpafiles = "";
@@ -1080,11 +1081,7 @@ foreach my $lib (@modules_to_sync) {
my $pri_install_iheader = fixPaths($iheader, $dir);
my $injection = "";
- if($public_header) {
- #put it into the master file
- $master_contents{$public_header} = $requires if (!$shadow && shouldMasterInclude($iheader));
-
- #deal with the install directives
+ if ($public_header) {
foreach my $class (@classes) {
# Strip namespaces:
$class =~ s/^.*:://;
@@ -1096,8 +1093,17 @@ foreach my $lib (@modules_to_sync) {
unless($pri_install_classes =~ $class_header);
$injection .= ":$class";
}
- $pri_install_files.= "$pri_install_iheader ";;
- $pri_clean_files .= "$pri_install_iheader".($requires ? ":".$requires : "")." " if ($clean_header);
+
+ if ($shadow) {
+ $pri_install_ifiles .= "$pri_install_iheader ";
+ } else {
+ # put it into the master file
+ $master_contents{$public_header} = $requires if (shouldMasterInclude($iheader));
+
+ # deal with the install directives
+ $pri_install_files .= "$pri_install_iheader ";
+ $pri_clean_files .= "$pri_install_iheader".($requires ? ":".$requires : "")." " if ($clean_header);
+ }
}
elsif ($qpa_header) {
$pri_install_qpafiles.= "$pri_install_iheader ";;
@@ -1247,6 +1253,7 @@ foreach my $lib (@modules_to_sync) {
#handle the headers.pri for each module
my $headers_pri_contents = "";
$headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
+ $headers_pri_contents .= "SYNCQT.INJECTED_HEADER_FILES = $pri_install_ifiles\n";
$headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
$headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
$headers_pri_contents .= "SYNCQT.INJECTED_PRIVATE_HEADER_FILES = $pri_install_ipfiles\n";