Execute install/fast on CMake, and add --install-only

This patch does three things:
1-Adds --install-only for the sake of consistency
2-Adds --install into the usage
3-Makes the CMake (KDE4) build system use make install/fast.

make install/fast only performs the installation of the files
thus avoiding a double compilation.

REVIEW: 116589
wilder
Àlex Fiestas 12 years ago
parent 8c767c9cbe
commit 45bd13fd79
  1. 7
      doc/index.docbook
  2. 11
      modules/ksb/Application.pm
  3. 2
      modules/ksb/BuildSystem.pm
  4. 17
      modules/ksb/BuildSystem/KDE4.pm

@ -2822,6 +2822,13 @@ Only perform the build process.
</para></listitem>
</varlistentry>
<varlistentry id="cmdline-install-only">
<term><parameter>--install-only</parameter></term>
<listitem><para>
Only perform the install process.
</para></listitem>
</varlistentry>
<varlistentry id="cmdline-ignore-modules">
<term><parameter>--ignore-modules</parameter></term>
<listitem><para>

@ -191,6 +191,10 @@ DONE
'build-only' => sub {
$phases->phases('build');
},
'install-only' => sub {
$self->{run_mode} = 'install';
$phases->phases('install');
},
prefix => sub {
my ($optName, $arg) = @_;
$auxOptions{prefix} = $arg;
@ -258,7 +262,7 @@ DONE
'no-tests', 'build-when-unchanged|force-build',
'verbose|v', 'quiet|quite|q', 'really-quiet', 'debug',
'reconfigure', 'colorful-output|color!', 'async!',
'src-only|svn-only', 'build-only', 'build-system-only',
'src-only|svn-only', 'build-only', 'install-only', 'build-system-only',
'rc-file=s', 'prefix=s', 'niceness|nice:10', 'ignore-modules=s{,}',
'print-modules', 'pretend|dry-run|p', 'refresh-build',
'start-program|run=s{,}',
@ -2717,6 +2721,11 @@ Options:
at this point).
--build-only Build only, don't perform updates or install.
--install-only Only install the already compiled code, this is equivalent
--install to make install/fast in CMake. Useful for example when we
want to clean the install directory but we do not want to
re-compile everything.
--rc-file=<filename> Read configuration from filename instead of default.
--resume-from=<pkg> Skips modules until just before the given package,

@ -338,7 +338,7 @@ sub safe_make (@)
# them.
next unless $self->isSubdirBuildable($subdir);
my $logname = $optsRef->{logbase} // $optsRef->{target};
my $logname = $optsRef->{logbase} // $optsRef->{logfile} // $optsRef->{target};
if ($subdir ne '')
{

@ -97,6 +97,23 @@ sub runTestsuite
return 1;
}
# Re-implementing the one in BuildSystem since in CMake we want to call
# make install/fast, so it only installs rather than building + installing
sub installInternal
{
my $self = shift;
my $module = $self->module();
my @cmdPrefix = @_;
return $self->safe_make ({
target => 'install/fast',
logfile => 'install',
message => "Installing g[$module]",
'prefix-options' => [@cmdPrefix],
subdirs => [ split(' ', $module->getOption("checkout-only")) ],
}) == 0;
}
sub configureInternal
{
my $self = assert_isa(shift, 'ksb::BuildSystem::KDE4');

Loading…
Cancel
Save