mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-05-14 13:02:39 -07:00
add --sudo flag
This adds --sudo flag to Build.PL. This flag is passed to cpanm, so it is possible to build Slicer on linux without beeing root (build files are owned by user)
This commit is contained in:
13
Build.PL
13
Build.PL
@@ -27,6 +27,7 @@ my %recommends = qw(
|
||||
XML::SAX::ExpatXS 0
|
||||
);
|
||||
|
||||
my $sudo = grep { $_ eq '--sudo' } @ARGV;
|
||||
my $gui = grep { $_ eq '--gui' } @ARGV;
|
||||
my $xs_only = grep { $_ eq '--xs' } @ARGV;
|
||||
if ($gui) {
|
||||
@@ -89,19 +90,21 @@ If it is installed in a non-standard location you can do:
|
||||
|
||||
EOF
|
||||
if !$cpanm;
|
||||
|
||||
my @cpanm_args = ();
|
||||
push @cpanm_args, "--sudo" if $sudo;
|
||||
|
||||
# make sure our cpanm is updated (old ones don't support the ~ syntax)
|
||||
system $cpanm, 'App::cpanminus';
|
||||
system $cpanm, @cpanm_args, 'App::cpanminus';
|
||||
|
||||
# install the Windows-compatible Math::Libm
|
||||
if ($^O eq 'MSWin32' && !eval "use Math::Libm; 1") {
|
||||
system $cpanm, 'https://github.com/alexrj/Math-Libm/tarball/master';
|
||||
system $cpanm, @cpanm_args, 'https://github.com/alexrj/Math-Libm/tarball/master';
|
||||
}
|
||||
|
||||
my %modules = (%prereqs, %recommends);
|
||||
foreach my $module (sort keys %modules) {
|
||||
my $version = $modules{$module};
|
||||
my @cmd = ($cpanm, "$module~$version");
|
||||
my @cmd = ($cpanm, @cpanm_args, "$module~$version");
|
||||
if ($module eq 'XML::SAX::ExpatXS' && $^O eq 'MSWin32') {
|
||||
my $mingw = 'C:\dev\CitrusPerl\mingw64';
|
||||
$mingw = 'C:\dev\CitrusPerl\mingw32' if !-d $mingw;
|
||||
@@ -131,7 +134,7 @@ EOF
|
||||
system './xs/Build', 'distclean';
|
||||
}
|
||||
}
|
||||
my $res = system $cpanm, '--reinstall', './xs';
|
||||
my $res = system $cpanm, @cpanm_args, '--reinstall', './xs';
|
||||
if ($res != 0) {
|
||||
die "The XS/C++ code failed to compile, aborting\n";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user