mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-14 22:55:52 +08:00
Windows 32-bit build. (#3954)
* Updated appveyor, preinstall, and deploy script to build 32 and 64 bit versions.
This commit is contained in:
parent
b52de34304
commit
b826f8baea
30
appveyor.yml
30
appveyor.yml
@ -7,39 +7,45 @@ environment:
|
|||||||
SLIC3R_STATIC: 1
|
SLIC3R_STATIC: 1
|
||||||
SLIC3R_VERSION: 1.3.0
|
SLIC3R_VERSION: 1.3.0
|
||||||
BOOST_DIR: C:\dev\boost_1_63_0
|
BOOST_DIR: C:\dev\boost_1_63_0
|
||||||
|
WXDIR: C:\dev\wxwidgets
|
||||||
WXSHARED: SHARED=0
|
WXSHARED: SHARED=0
|
||||||
FORCE_WX_BUILD: 0
|
FORCE_WX_BUILD: 1
|
||||||
FORCE_BOOST_REINSTALL: 0
|
FORCE_BOOST_REINSTALL: 1
|
||||||
ENC_SECRET:
|
ENC_SECRET:
|
||||||
secure: QfeTOSKXz1uFCEACqFKLNw==
|
secure: QfeTOSKXz1uFCEACqFKLNw==
|
||||||
UPLOAD_USER:
|
UPLOAD_USER:
|
||||||
secure: fYPwnI3p6HNR+eMRJR3JfmyNolFn+Uc0MUn2bBXp9uU=
|
secure: fYPwnI3p6HNR+eMRJR3JfmyNolFn+Uc0MUn2bBXp9uU=
|
||||||
|
matrix:
|
||||||
|
- ARCH: 64bit
|
||||||
|
- ARCH: 32bit
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- IF DEFINED ENC_SECRET nuget install secure-file -ExcludeVersion
|
- IF DEFINED ENC_SECRET nuget install secure-file -ExcludeVersion
|
||||||
- IF DEFINED ENC_SECRET secure-file\tools\secure-file -decrypt package/deploy/slic3r-upload.ppk.enc -secret %ENC_SECRET%
|
- IF DEFINED ENC_SECRET secure-file\tools\secure-file -decrypt package/deploy/slic3r-upload.ppk.enc -secret %ENC_SECRET%
|
||||||
- ps: "& package/win/appveyor_preinstall.ps1"
|
- ps: "& package/win/appveyor_preinstall.ps1"
|
||||||
cache:
|
cache:
|
||||||
- C:\Users\appveyor\boost.1.63.0.7z
|
- C:\Users\appveyor\local-lib-64bit.7z
|
||||||
- C:\Users\appveyor\local-lib.7z
|
- C:\Users\appveyor\local-lib-32bit.7z
|
||||||
- C:\Strawberry\perl\site
|
- C:\Users\appveyor\freeglut.64bit.7z
|
||||||
- C:\Users\appveyor\freeglut.7z
|
- C:\Users\appveyor\freeglut.32bit.7z
|
||||||
- C:\users\appveyor\strawberry.msi
|
- C:\users\appveyor\strawberry.64bit.msi
|
||||||
|
- C:\users\appveyor\strawberry.32bit.msi
|
||||||
- C:\Users\appveyor\winscp.zip
|
- C:\Users\appveyor\winscp.zip
|
||||||
- C:\Users\appveyor\extra_perl.7z
|
- C:\Users\appveyor\extra_perl.7z
|
||||||
- C:\Users\appveyor\wxwidgets.7z
|
- C:\Users\appveyor\wxwidgets-64bit.7z
|
||||||
|
- C:\Users\appveyor\wxwidgets-32bit.7z
|
||||||
|
- C:\Users\appveyor\boost.1.63.0.32bit.7z
|
||||||
|
- C:\Users\appveyor\boost.1.63.0.64bit.7z
|
||||||
build_script:
|
build_script:
|
||||||
- ps: "& package/win/appveyor_buildscript.ps1"
|
- ps: "& package/win/appveyor_buildscript.ps1"
|
||||||
test_script:
|
|
||||||
- ps: "mkdir C:\\Andrés\nwget \"http://www.thingiverse.com/download:73351\" -o\"C:\\Andrés\\5mm.stl\"\necho \"bed_temperature=60\" > C:\\Andrés\\test.ini\n\ncd C:\\projects\\slic3r\nperl slic3r.pl --load \"C:\\Andrés\\test.ini\" \"C:\\Andrés\\5mm.stl\"\n\nif (!(Test-Path \"C:\\Andrés\\5mm.gcode\")) {\necho \"IS IT HERE\"\n}"
|
|
||||||
artifacts:
|
artifacts:
|
||||||
- path: .\slic3r*zip
|
- path: .\slic3r*zip
|
||||||
name: slic3r-dev
|
name: slic3r-dev
|
||||||
deploy_script:
|
deploy_script:
|
||||||
- ps: "& package/win/appveyor_deploy.ps1"
|
- ps: "cd C:/projects/slic3r; & package/win/appveyor_deploy.ps1"
|
||||||
on_success:
|
on_success:
|
||||||
- ps:
|
- ps:
|
||||||
on_failure:
|
on_failure:
|
||||||
- ps:
|
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
||||||
on_finish:
|
on_finish:
|
||||||
- ps:
|
- ps:
|
||||||
|
@ -1,20 +1,26 @@
|
|||||||
if (!(Test-Path "C:\users\appveyor\local-lib.7z")) {
|
if (!(Test-Path "C:\users\appveyor\local-lib-$env:ARCH.7z")) {
|
||||||
wget "http://www.siusgs.com/slic3r/buildserver/win/slic3r-perl-dependencies-5.24.0-win-seh-gcc6.3.0-x64.7z" -o "C:\users\appveyor\local-lib.7z" | Write-Output
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=local-lib-$env:ARCH.7z" -o "C:\users\appveyor\local-lib-$env:ARCH.7z" | Write-Output
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Test-Path "C:\users\appveyor\local-lib.7z") {
|
if (Test-Path "C:\users\appveyor\local-lib-$env:ARCH.7z") {
|
||||||
cmd /c "7z x C:\Users\appveyor\local-lib.7z -oC:\projects\slic3r" -y | Write-Output
|
cmd /c "7z x C:\Users\appveyor\local-lib-$env:ARCH.7z -oC:\projects\slic3r" -y | Write-Output
|
||||||
rm -r 'C:\projects\slic3r\local-lib\Slic3r*'
|
rm -r 'C:\projects\slic3r\local-lib\Slic3r*'
|
||||||
}
|
}
|
||||||
|
|
||||||
$env:Path = "C:\Strawberry\c\bin;C:\Strawberry\perl\bin;" + $env:Path
|
$env:Path = "C:\Strawberry\c\bin;C:\Strawberry\perl\bin;" + $env:Path
|
||||||
cd C:\projects\slic3r
|
cd C:\projects\slic3r
|
||||||
|
|
||||||
rm -r 'C:\Program Files (x86)\Microsoft Vis*\bin' -Force
|
rm -r 'C:\Program Files (x86)\Microsoft Vis*\bin' -Force
|
||||||
|
|
||||||
Add-AppveyorCompilationMessage -Message "Building Slic3r XS"
|
Add-AppveyorCompilationMessage -Message "Building Slic3r XS"
|
||||||
perl Build.pl
|
perl ./Build.pl
|
||||||
if (-NOT ($LASTEXITCODE -eq 0)) {
|
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
Add-AppveyorCompilationMessage -Message "XS Failed to Build" -Category Error
|
Add-AppveyorCompilationMessage -Message "XS Failed to Build" -Category Error
|
||||||
|
$host.SetShouldExit($LastExitCode)
|
||||||
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
Add-AppveyorCompilationMessage -Message "Making ZIP package"
|
Add-AppveyorCompilationMessage -Message "Making ZIP package"
|
||||||
cd package/win
|
cd package/win
|
||||||
./compile_wrapper.ps1 524| Write-Output
|
./compile_wrapper.ps1 524| Write-Output
|
||||||
|
@ -1,19 +1,28 @@
|
|||||||
mkdir C:\projects\slic3r\FreeGLUT
|
mkdir C:\projects\slic3r\FreeGLUT
|
||||||
if (!(Test-Path "C:\users\appveyor\freeglut.7z"))
|
if (!(Test-Path "C:\users\appveyor\freeglut.$env:ARCH.7z"))
|
||||||
{
|
{
|
||||||
wget "http://www.siusgs.com/slic3r/buildserver/win/freeglut-mingw-3.0.0.win64.7z" -o C:\users\appveyor\freeglut.7z
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=freeglut-mingw-3.0.0.$env:ARCH.7z" -o C:\users\appveyor\freeglut.$env:ARCH.7z
|
||||||
}
|
}
|
||||||
cmd /c "7z x C:\Users\appveyor\freeglut.7z -oC:\projects\slic3r\FreeGLUT"
|
cmd /c "7z x C:\Users\appveyor\freeglut.$env:ARCH.7z -oC:\projects\slic3r\FreeGLUT"
|
||||||
|
|
||||||
if (!(Test-Path "C:\users\appveyor\strawberry.msi")) {
|
if (!(Test-Path "C:\users\appveyor\strawberry.$env:ARCH.msi")) {
|
||||||
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=slic3r-perl-5.24.1.4-64bit.msi" -o "C:\users\appveyor\strawberry.msi" | Write-Output
|
if ($env:ARCH -eq "64bit") {
|
||||||
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=slic3r-perl-5.24.1.4-64bit.msi" -o "C:\users\appveyor\strawberry.$env:ARCH.msi" | Write-Output
|
||||||
|
} else {
|
||||||
|
wget "http://strawberryperl.com/download/5.24.1.1/strawberry-perl-5.24.1.1-32bit.msi" -o "C:\users\appveyor\strawberry.$env:ARCH.msi" | Write-Output
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!(Test-Path "C:\users\appveyor\extra_perl.7z")) {
|
|
||||||
|
if (!($env:ARCH -eq "32bit")) {
|
||||||
|
if (!(Test-Path "C:\users\appveyor\extra_perl.7z")) {
|
||||||
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=Strawberry-6.3.0-seg-archive.7z" -o "C:\users\appveyor\extra_perl.7z" | Write-Output
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=Strawberry-6.3.0-seg-archive.7z" -o "C:\users\appveyor\extra_perl.7z" | Write-Output
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
msiexec.exe /i "C:\users\appveyor\strawberry.msi" /quiet
|
msiexec.exe /i "C:\users\appveyor\strawberry.$env:ARCH.msi" /quiet
|
||||||
cmd /c "7z x -aoa C:\Users\appveyor\extra_perl.7z -oC:\"
|
if (!($env:ARCH -eq "32bit")) {
|
||||||
|
cmd /c "7z x -aoa C:\Users\appveyor\extra_perl.7z -oC:\"
|
||||||
|
}
|
||||||
|
|
||||||
if (!(Test-Path "C:\users\appveyor\winscp.zip")) {
|
if (!(Test-Path "C:\users\appveyor\winscp.zip")) {
|
||||||
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=WinSCP-5.9.4-Portable.zip" -o "C:\users\appveyor\winscp.zip" | Write-Output
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=WinSCP-5.9.4-Portable.zip" -o "C:\users\appveyor\winscp.zip" | Write-Output
|
||||||
@ -33,10 +42,14 @@ if(Test-Path -Path 'C:\Strawberry' ) {
|
|||||||
cmd /c mklink /D C:\Perl C:\Strawberry\perl
|
cmd /c mklink /D C:\Perl C:\Strawberry\perl
|
||||||
mkdir C:\dev
|
mkdir C:\dev
|
||||||
if (!(Test-Path "C:\users\appveyor\boost.1.63.0.7z") -Or $env:FORCE_BOOST_REINSTALL -eq 1) {
|
if (!(Test-Path "C:\users\appveyor\boost.1.63.0.7z") -Or $env:FORCE_BOOST_REINSTALL -eq 1) {
|
||||||
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=boost_1_63_0-x64-gcc-6.3.0-seh.7z" -O "C:\users\appveyor\boost.1.63.0.7z" | Write-Output
|
if ($env:ARCH -eq "64bit") {
|
||||||
|
wget "http://www.siusgs.com/slic3r/buildserver/win/boost_1_63_0-x64-gcc-6.3.0-seh.7z" -O "C:\users\appveyor\boost.1.63.0.$env:ARCH.7z" | Write-Output
|
||||||
|
} else {
|
||||||
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=boost_1_63_0-x32-gcc-4.9.2-sjlj.7z" -O "C:\users\appveyor\boost.1.63.0.$env:ARCH.7z" | Write-Output
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Add-AppveyorCompilationMessage -Message "Extracting cached archive."
|
Add-AppveyorCompilationMessage -Message "Extracting cached archive."
|
||||||
cmd /c "7z x C:\Users\appveyor\boost.1.63.0.7z -oC:\dev"
|
cmd /c "7z x C:\Users\appveyor\boost.1.63.0.$env:ARCH.7z -oC:\dev"
|
||||||
|
|
||||||
mkdir C:\dev\CitrusPerl
|
mkdir C:\dev\CitrusPerl
|
||||||
cmd /C mklink /D C:\dev\CitrusPerl\mingw32 C:\Strawberry\c
|
cmd /C mklink /D C:\dev\CitrusPerl\mingw32 C:\Strawberry\c
|
||||||
@ -53,19 +66,17 @@ if(Test-Path -Path 'C:\Strawberry' ) {
|
|||||||
|
|
||||||
Add-AppveyorCompilationMessage -Message "Installing wxWidgets (xsgui dependency))"
|
Add-AppveyorCompilationMessage -Message "Installing wxWidgets (xsgui dependency))"
|
||||||
if ($env:FORCE_WX_BUILD -eq 1) {
|
if ($env:FORCE_WX_BUILD -eq 1) {
|
||||||
rm "C:\Users\appveyor\wxwidgets.7z" -Force
|
rm "C:\Users\appveyor\wxwidgets-$env:ARCH.7z" -Force
|
||||||
}
|
}
|
||||||
if (!(Test-Path "C:\Users\appveyor\wxwidgets.7z")) {
|
|
||||||
Add-AppveyorCompilationMessage -Message "Compiling wxWidgets"
|
if (!(Test-Path "C:\Users\appveyor\wxwidgets-$env:ARCH.7z")) {
|
||||||
git clone https://github.com/wxWidgets/wxWidgets -b "v3.1.0" -q C:\dev\wxWidgets
|
Add-AppveyorCompilationMessage -Message "Extracting wxWidgets for $env:ARCH"
|
||||||
cd C:\dev\wxwidgets
|
wget "https://bintray.com/lordofhyphens/Slic3r/download_file?file_path=wxwidgets-$env:ARCH.7z" -o C:\users\appveyor\wxwidgets-$env:ARCH.7z
|
||||||
cp .\include\wx\msw\setup0.h include/wx/msw/setup.h
|
7z x C:\users\appveyor\wxwidgets-$env:ARCH.7z -oC:\dev
|
||||||
cd build\msw
|
|
||||||
mingw32-make -f makefile.gcc CXXFLAGS="-std=gnu++11" BUILD=release VENDOR=Slic3r
|
|
||||||
cd C:\dev
|
|
||||||
7z a C:\Users\appveyor\wxwidgets.7z wxwidgets
|
|
||||||
cd C:\projects\slic3r
|
|
||||||
} else {
|
} else {
|
||||||
Add-AppveyorCompilationMessage -Message "Extracting prebuilt wxWidgets."
|
Add-AppveyorCompilationMessage -Message "Extracting prebuilt wxWidgets."
|
||||||
7z x "C:\Users\appveyor\wxwidgets.7z" -oC:\dev
|
7z x "C:\Users\appveyor\wxwidgets-$env:ARCH.7z" -oC:\dev
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cpan App::cpanminus
|
||||||
|
cpan PAR::Packer
|
||||||
|
@ -41,6 +41,12 @@ if ($exe) {
|
|||||||
New-Variable -Name "STRAWBERRY_PATH" -Value "C:\Strawberry"
|
New-Variable -Name "STRAWBERRY_PATH" -Value "C:\Strawberry"
|
||||||
|
|
||||||
cpanm "PAR::Packer"
|
cpanm "PAR::Packer"
|
||||||
|
if ($env:ARCH -eq "32bit") {
|
||||||
|
$perlarch = "sjlj"
|
||||||
|
} else {
|
||||||
|
$perlarch = "seh"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
pp `
|
pp `
|
||||||
-a "slic3r.exe;slic3r.exe" `
|
-a "slic3r.exe;slic3r.exe" `
|
||||||
@ -54,9 +60,10 @@ pp `
|
|||||||
-a "../../FreeGLUT/freeglut.dll;freeglut.dll" `
|
-a "../../FreeGLUT/freeglut.dll;freeglut.dll" `
|
||||||
-a "${STRAWBERRY_PATH}\perl\bin\perl${perlversion}.dll;perl${perlversion}.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\libstdc++-6.dll;libstdc++-6.dll" `
|
||||||
-a "${STRAWBERRY_PATH}\perl\bin\libgcc_s_seh-1.dll;libgcc_s_seh-1.dll" `
|
-a "${STRAWBERRY_PATH}\perl\bin\libgcc_s_${perlarch}-1.dll;libgcc_s_${perlarch}-1.dll" `
|
||||||
-a "${STRAWBERRY_PATH}\perl\bin\libwinpthread-1.dll;libwinpthread-1.dll" `
|
-a "${STRAWBERRY_PATH}\perl\bin\libwinpthread-1.dll;libwinpthread-1.dll" `
|
||||||
-a "${STRAWBERRY_PATH}\c\bin\pthreadGC2-w64.dll;pthreadGC2-w64.dll" `
|
-a "${STRAWBERRY_PATH}\c\bin\pthreadGC2-w64.dll;pthreadGC2-w64.dll" `
|
||||||
|
-a "${STRAWBERRY_PATH}\c\bin\pthreadGC2-w32.dll;pthreadGC2-w32.dll" `
|
||||||
-a "${STRAWBERRY_PATH}\c\bin\libglut-0__.dll;libglut-0__.dll" `
|
-a "${STRAWBERRY_PATH}\c\bin\libglut-0__.dll;libglut-0__.dll" `
|
||||||
-M AutoLoader `
|
-M AutoLoader `
|
||||||
-M B `
|
-M B `
|
||||||
@ -152,7 +159,7 @@ if ($exe) {
|
|||||||
} else {
|
} else {
|
||||||
# make this more useful for not being on the appveyor server
|
# make this more useful for not being on the appveyor server
|
||||||
if ($env:APPVEYOR) {
|
if ($env:APPVEYOR) {
|
||||||
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.${env:APPVEYOR_BUILD_NUMBER}.$(git rev-parse --short HEAD).zip"
|
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.${env:APPVEYOR_BUILD_NUMBER}.$(git rev-parse --short HEAD).$env:ARCH.zip"
|
||||||
} else {
|
} else {
|
||||||
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.$(git rev-parse --short HEAD).zip"
|
copy ..\..\slic3r.par "..\..\slic3r-${current_branch}.${current_date}.$(git rev-parse --short HEAD).zip"
|
||||||
del ..\..\slic3r.par
|
del ..\..\slic3r.par
|
||||||
|
Loading…
x
Reference in New Issue
Block a user