mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -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:
		
							parent
							
								
									26bdbf0210
								
							
						
					
					
						commit
						c81d26b960
					
				
					 1 changed files with 8 additions and 5 deletions
				
			
		
							
								
								
									
										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";
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue