summaryrefslogtreecommitdiffstats
path: root/scripts/qt
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2012-01-16 15:09:51 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-17 02:58:03 +0100
commit1bc046229dcb7eb4fb933d88b206d5dee78dfe92 (patch)
treeabc5c8e04bf83609aed50b29f13100ba2895ec22 /scripts/qt
parent9241c18585be940a53371c3d4af74340b978a64a (diff)
qtmod_test: fixed handling of no_default_install subdirs
When testing the installation of Qt, we were doing (effectively) a top-level `make install', relying on the fact that install targets depend on compile targets, to compile and install everything in the right order. However, this meant that any subdir whose CONFIG included no_default_install was omitted from this step, and potentially wouldn't be tested. Notably, the autotests in each Qt module are set up with no_default_install, which means the tests were not built until `make check' was run. Since we have to run `make check' with -j1 to run the tests one at a time, this meant the tests were being compiled more slowly than necessary. Change-Id: I8629c15aa9d65297259608e0213a43a57d0ddf3f Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jyri Tahtela <jyri.tahtela@nokia.com>
Diffstat (limited to 'scripts/qt')
-rwxr-xr-xscripts/qt/qtmod_test.pl12
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/qt/qtmod_test.pl b/scripts/qt/qtmod_test.pl
index d0fe0cc9..b555180d 100755
--- a/scripts/qt/qtmod_test.pl
+++ b/scripts/qt/qtmod_test.pl
@@ -640,10 +640,18 @@ sub run_compile
# information. Issuing a `make module-FOO' should automatically build the module
# and all deps, as parallel as possible.
my $make_target = "module-$qt_gitmodule";
+
if ($self->{ shadow_build_with_install_enabled }) {
- # shadow build and installing? need to build & install together
- $make_target .= '-install_subtargets';
+ # shadow build and installing?
+ # Then we first install, then do another make to catch anything not
+ # covered by install (e.g. subdirs with no_default_install).
+ # Note that we have to do it in this unintuitive order because we need to ensure
+ # that e.g. qtbase is installed before we attempt to compile the modules which
+ # depend on qtbase.
+ my $make_install_target = "$make_target-install_subtargets";
+ push @commands, sub { $self->exe( $make_bin, @make_args, $make_install_target ) };
}
+
push @commands, sub { $self->exe( $make_bin, @make_args, $make_target ) };
}
else {