Alien-Ninja
view release on metacpan or search on metacpan
my $bin_dir = Path::Tiny->new('bin');
$bin_dir->mkpath;
my $ninja_bin_name = "ninja$Config{_exe}";
my $ninja_bin = Path::Tiny->new($ninja_bin_name);
$ninja_bin->move( $bin_dir->child($ninja_bin_name) );
};
plugin 'Build::Copy';
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'binary';
});
} else {
# build from source
plugin 'Download::GitHub' => (
%github_info,
);
plugin 'Build::CMake';
build [
['%{cmake}',
( $^O eq 'MSWin32'
-DHAVE_FORK=0 -DHAVE_PIPE=0
) : () ),
@{ meta->prop->{plugin_build_cmake}->{args} },
'%{.install.extract}',
],
'%{make}',
'%{make} install',
];
meta->after_hook( build => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'source';
});
}
gather sub {
my($build) = @_;
$build->runtime_prop->{command} = 'ninja';
};
};
sys {
meta->after_hook( probe => sub {
my($build) = @_;
$build->runtime_prop->{'style'} = 'system';
});
};
t/alien_ninja.t view on Meta::CPAN
use Test2::V0;
use Test::Alien;
use Test::Alien::Diag;
use Alien::Ninja;
alien_diag 'Alien::Ninja';
diag "Alien::Ninja {style} : ", Alien::Ninja->runtime_prop->{'style'};
alien_ok 'Alien::Ninja';
run_ok([ Alien::Ninja->exe, qw(--version) ])
->success
->out_like(qr/[0-9\.]+/);
done_testing;
( run in 1.563 second using v1.01-cache-2.11-cpan-49f99fa48dc )