PrusaSlicer-NonPlainar/Build.PL
2013-06-23 11:10:36 +02:00

70 lines
1.8 KiB
Perl

#!/usr/bin/perl
use strict;
use warnings;
use Config;
use File::Spec;
my %prereqs = qw(
Boost::Geometry::Utils 0.15
Encode::Locale 0
File::Basename 0
File::Spec 0
Getopt::Long 0
Math::Clipper 1.22
Math::ConvexHull::MonotoneChain 0.01
Math::Geometry::Voronoi 1.3
Math::PlanePath 53
Moo 0.091009
Scalar::Util 0
Storable 0
Test::More 0
IO::Scalar 0
Time::HiRes 0
);
my %recommends = qw(
Class::XSAccessor 0
Growl::GNTP 0.15
XML::SAX::ExpatXS 0
Wx 0.9901
);
my $cpanm;
if (defined $ENV{CPANM} && -x $ENV{CPANM}) {
$cpanm = $ENV{CPANM};
} elsif (-x (my $c = File::Spec->catfile($Config{sitebin}, 'cpanm'))) {
$cpanm = $c;
} elsif (-x (my $c = File::Spec->catfile($Config{installscript}, 'cpanm'))) {
$cpanm = $c;
} elsif ($^O =~ /^(?:darwin|linux)$/ && system(qw(which cpanm)) == 0) {
$cpanm = 'cpanm';
}
die <<'EOF'
cpanm was not found. Please install it before running this script.
There are several ways to install cpanm, try one of these:
apt-get install cpanminus
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
cpan App::cpanminus
If it is installed in a non-standard location you can do:
CPANM=/path/to/cpanm perl Build.PL
EOF
if !$cpanm;
my %modules = (%prereqs, %recommends);
foreach my $module (sort keys %modules) {
my $version = $modules{$module};
system $cpanm, '--sudo', "$module~$version";
}
if (eval "use App::Prove; 1") {
App::Prove->new->run;
}
__END__