mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-14 06:51:48 +08:00

* Slightly modified perl wrapper from @bubnikv and added a short powershell script to build it (assuming Strawberry Perl is installed) * added shell and tweaked build script to package 5.18 or 5.24 * moved class::accessor to local-lib * Using different thread library for packager (x64), wrapper is verbose. * Statically link libgcc for shell program, include pthreadGC2-w64.dll * set default perl version, added more linker options Added libgcc_s_sjlj-1.dll to pack list. * Removed Sub::Util from manual dependency list. * Added resource file for wrapper exe and appended compile steps.. * added Win32 perl module * Add libglut-0.dll
159 lines
3.7 KiB
PowerShell
159 lines
3.7 KiB
PowerShell
# Written by Joseph Lenox
|
|
# Licensed under the same license as the rest of Slic3r.
|
|
# ------------------------
|
|
# You need to have Strawberry Perl 5.24.0.1 installed for this to work,
|
|
param (
|
|
[switch]$exe = $false
|
|
)
|
|
echo "Make this is run from the perl command window."
|
|
echo "Requires PAR."
|
|
|
|
New-Variable -Name "current_branch" -Value ""
|
|
New-Variable -Name "current_date" -Value "$(Get-Date -UFormat '%Y.%m.%d')"
|
|
New-Variable -Name "output_file" -Value ""
|
|
|
|
if ($args[0]) {
|
|
$perlversion = $args[0]
|
|
} else {
|
|
$perlversion = "524"
|
|
}
|
|
|
|
$perldll = "perl$perlversion"
|
|
|
|
git branch | foreach {
|
|
if ($env:APPVEYOR) {
|
|
if ($_ -match "` (.*)") {
|
|
$current_branch += $matches[1]
|
|
}
|
|
} else {
|
|
if ($_ -match "\*` (.*)"){
|
|
$current_branch += $matches[1]
|
|
}
|
|
}
|
|
}
|
|
if ($exe) {
|
|
$output_file = "slic3r.exe"
|
|
} else {
|
|
$output_file = "slic3r.par"
|
|
}
|
|
|
|
# Change this to where you have Strawberry Perl installed.
|
|
New-Variable -Name "STRAWBERRY_PATH" -Value "C:\Strawberry"
|
|
|
|
cpanm "PAR::Packer"
|
|
|
|
pp `
|
|
-a "slic3r.exe;slic3r.exe" `
|
|
-a "../../lib;lib" `
|
|
-a "../../local-lib;local-lib" `
|
|
-a "../../slic3r.pl;slic3r.pl" `
|
|
-a "../../utils;utils" `
|
|
-a "../../var;var" `
|
|
-a "../../FreeGLUT/freeglut.dll;freeglut.dll" `
|
|
-a "${STRAWBERRY_PATH}\perl\bin\perl${perlversion}.dll;perl${perlversion}.dll" `
|
|
-a "${STRAWBERRY_PATH}\perl\bin\libstdc++-6.dll;libstdc++-6.dll" `
|
|
-a "${STRAWBERRY_PATH}\perl\bin\libgcc_s_sjlj-1.dll;libgcc_s_sjlj-1.dll" `
|
|
-a "${STRAWBERRY_PATH}\c\bin\pthreadGC2-w64.dll;pthreadGC2-w64.dll" `
|
|
-a "${STRAWBERRY_PATH}\c\bin\libglut-0__.dll;libglut-0__.dll" `
|
|
-M AutoLoader `
|
|
-M B `
|
|
-M Carp `
|
|
-M Class::Accessor `
|
|
-M Config `
|
|
-M Crypt::CBC `
|
|
-M Cwd `
|
|
-M Devel::GlobalDestruction `
|
|
-M Digest `
|
|
-M Digest::MD5 `
|
|
-M Digest::SHA `
|
|
-M Digest::base `
|
|
-M DynaLoader `
|
|
-M Errno `
|
|
-M Exporter `
|
|
-M Exporter::Heavy `
|
|
-M Fcntl `
|
|
-M File::Basename `
|
|
-M File::Glob `
|
|
-M File::Spec `
|
|
-M File::Spec::Unix `
|
|
-M File::Spec::Win32 `
|
|
-M FindBin `
|
|
-M HTTP::Config `
|
|
-M HTTP::Date `
|
|
-M HTTP::Headers `
|
|
-M HTTP::Headers::Util `
|
|
-M HTTP::Message `
|
|
-M HTTP::Request `
|
|
-M HTTP::Request::Common `
|
|
-M HTTP::Response `
|
|
-M HTTP::Status `
|
|
-M IO `
|
|
-M IO::Handle `
|
|
-M IO::Select `
|
|
-M LWP `
|
|
-M LWP::MediaTypes `
|
|
-M LWP::MemberMixin `
|
|
-M LWP::Protocol `
|
|
-M LWP::Protocol::http `
|
|
-M LWP::UserAgent `
|
|
-M List::Util `
|
|
-M Math::Trig `
|
|
-M Method::Generate::Accessor `
|
|
-M Method::Generate::BuildAll `
|
|
-M Method::Generate::Constructor `
|
|
-M Module::Runtime `
|
|
-M POSIX `
|
|
-M Pod::Escapes `
|
|
-M Pod::Text `
|
|
-M Pod::Usage `
|
|
-M SelectSaver `
|
|
-M Socket `
|
|
-M Socket6 `
|
|
-M Storable `
|
|
-M Sub::Defer `
|
|
-M Sub::Exporter `
|
|
-M Sub::Exporter::Progressive `
|
|
-M Sub::Name `
|
|
-M Symbol `
|
|
-M Term::Cap `
|
|
-M Text::ParseWords `
|
|
-M Thread `
|
|
-M Thread::Queue `
|
|
-M Thread::Semaphore `
|
|
-M Tie::Handle `
|
|
-M Tie::Hash `
|
|
-M Tie::StdHandle `
|
|
-M Time::Local `
|
|
-M URI `
|
|
-M URI::Escape `
|
|
-M URI::http `
|
|
-M Unicode::Normalize `
|
|
-M Win32 `
|
|
-M Win32::API `
|
|
-M Win32::TieRegistry `
|
|
-M Win32::WinError `
|
|
-M Win32API::Registry `
|
|
-M XSLoader `
|
|
-B `
|
|
-M lib `
|
|
-p ..\..\slic3r.pl -o ..\..\${output_file}
|
|
|
|
# switch renaming based on whether or not using packaged exe or zip
|
|
if ($exe) {
|
|
if ($env:APPVEYOR) {
|
|
copy ..\..\slic3r.exe "..\..\slic3r-${current_branch}.${current_date}.${env:APPVEYOR_BUILD_NUMBER}.$(git rev-parse --short HEAD).exe"
|
|
del ..\slic3r.exe
|
|
} else {
|
|
copy ..\..\slic3r.exe "..\..\slic3r-${current_branch}.${current_date}.$(git rev-parse --short HEAD).exe"
|
|
del ..\..\slic3r.exe
|
|
}
|
|
} else {
|
|
# make this more useful for not being on the appveyor server
|
|
if ($env:APPVEYOR) {
|
|
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.${env:APPVEYOR_BUILD_NUMBER}.$(git rev-parse --short HEAD).zip"
|
|
} else {
|
|
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.$(git rev-parse --short HEAD).zip"
|
|
del ..\..\slic3r.par
|
|
}
|
|
}
|