Alien-Xmake
view release on metacpan or search on metacpan
lib/Alien/Xmake.pm view on Meta::CPAN
method build ( $target //= (), %opts ) {
my @args;
push @args, '-r' if $opts{rebuild};
push @args, '-a' if $opts{all};
push @args, '--shallow' if $opts{shallow};
push @args, '-g', $opts{group} if $opts{group};
push @args, '--dry-run' if $opts{dry_run};
push @args, '-j', $opts{jobs} if $opts{jobs};
push @args, '--linkjobs=' . $opts{linkjobs} if $opts{linkjobs};
push @args, '--linkonly' if $opts{linkonly};
push @args, '--files=' . $self->_join( $opts{files}, ';' ) if $opts{files};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'build', @args );
}
method clean ( $target //= (), %opts ) {
my @args;
push @args, '-a' if $opts{all};
push @args, '-g', $opts{group} if $opts{group};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'clean', @args );
}
method create ( $target //= (), %opts ) {
my @args;
push @args, '-f' if $opts{force};
push @args, '--list' if $opts{list};
push @args, '-l', $opts{language} if $opts{language};
push @args, '-t', $opts{template} if $opts{template};
push @args, '-P', $opts{project} if $opts{project};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'create', @args );
}
method configure (%opts) {
my @args = $self->_config_args( \%opts );
push @args, '-c' if $opts{clean};
push @args, '--check' if $opts{check};
push @args, '--menu' if $opts{menu};
push @args, '--export=' . $opts{export} if $opts{export};
push @args, '--import=' . $opts{import} if $opts{import};
push @args, '-o', $opts{builddir} if $opts{builddir};
push @args, $self->_extra_args( \%opts );
$self->_run( 'config', @args );
}
method global (%opts) {
my @args;
push @args, '-c' if $opts{clean};
push @args, '--check' if $opts{check};
push @args, '--menu' if $opts{menu};
push @args, '--theme=' . $opts{theme} if $opts{theme};
push @args, '--debugger=' . $opts{debugger} if $opts{debugger};
push @args, '--ccache=' . $opts{ccache} if defined $opts{ccache};
push @args, '--cachedir=' . $opts{cachedir} if $opts{cachedir};
push @args, '--policies=' . $opts{policies} if $opts{policies};
push @args, '--network=' . $opts{network} if $opts{network};
push @args, '--insecure-ssl' if $opts{insecure_ssl};
push @args, '--proxy=' . $opts{proxy} if $opts{proxy};
push @args, '--proxy_hosts=' . $opts{proxy_hosts} if $opts{proxy_hosts};
push @args, '--proxy_pac=' . $opts{proxy_pac} if $opts{proxy_pac};
push @args, '--pkg_searchdirs=' . $self->_join( $opts{pkg_searchdirs}, ';' ) if $opts{pkg_searchdirs};
push @args, '--pkg_cachedir=' . $opts{pkg_cachedir} if $opts{pkg_cachedir};
push @args, '--pkg_installdir=' . $opts{pkg_installdir} if $opts{pkg_installdir};
push @args, $self->_global_config_args( \%opts );
push @args, $self->_extra_args( \%opts );
$self->_run( 'global', @args );
}
method install ( $target //= (), %opts ) {
my @args;
push @args, '-o', $opts{installdir} if $opts{installdir};
push @args, '--bindir=' . $opts{bindir} if $opts{bindir};
push @args, '--libdir=' . $opts{libdir} if $opts{libdir};
push @args, '--includedir=' . $opts{includedir} if $opts{includedir};
push @args, '-g', $opts{group} if $opts{group};
push @args, '-a' if $opts{all};
push @args, '--binaries=' . $opts{binaries} if defined $opts{binaries};
push @args, '--headers=' . $opts{headers} if defined $opts{headers};
push @args, '--libraries=' . $opts{libraries} if defined $opts{libraries};
push @args, '--packages=' . $opts{packages} if defined $opts{packages};
push @args, '--admin' if $opts{admin};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'install', @args );
}
method uninstall ( $target //= (), %opts ) {
my @args;
push @args, '--installdir=' . $opts{installdir} if $opts{installdir};
push @args, '--bindir=' . $opts{bindir} if $opts{bindir};
push @args, '--libdir=' . $opts{libdir} if $opts{libdir};
push @args, '--includedir=' . $opts{includedir} if $opts{includedir};
push @args, '-g', $opts{group} if $opts{group};
push @args, '--admin' if $opts{admin};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'uninstall', @args );
}
method package ( $target //= (), %opts ) {
my @args;
push @args, '-o', $opts{outputdir} if $opts{outputdir};
push @args, '-a' if $opts{all};
push @args, '-f', $opts{format} if $opts{format};
push @args, '--homepage=' . $opts{homepage} if $opts{homepage};
push @args, '--description=' . $opts{description} if $opts{description};
push @args, '--url=' . $opts{url} if $opts{url};
push @args, '--version=' . $opts{version} if defined $opts{version};
push @args, '--shasum=' . $opts{shasum} if $opts{shasum};
push @args, $target if defined $target && length $target;
push @args, $self->_extra_args( \%opts );
$self->_run( 'package', @args );
}
method pack ( $package //= (), %opts ) {
my @args;
push @args, '-o', $opts{outputdir} if $opts{outputdir};
( run in 0.263 second using v1.01-cache-2.11-cpan-ad19def0cd9 )