1234567891011121314151617181920212223242526272829303132333435363738 |
- # Short Powershell script to build a wrapper exec
- Param
- (
- [string]$perlVersion = "524",
- [string]$STRAWBERRY_PATH = "C:\Strawberry",
- # Path to C++ compiler, or just name if it is in path
- [string]$cxx = "g++"
- )
- function Get-ScriptDirectory
- {
- $Invocation = (Get-Variable MyInvocation -Scope 1).Value
- Split-Path $Invocation.MyCommand.Path
- }
- $scriptDir = Get-ScriptDirectory
- $perllib = "-lperl$perlVersion"
- $shell_loc = "${scriptDir}\..\common\shell.cpp"
- # Build the resource file (used to load icon, etc)
- windres ${scriptDir}\slic3r.rc -O coff -o ${scriptDir}\slic3r.res
- # Compile an object file that does not have gui forced.
- Invoke-Expression "$cxx -c -I'${STRAWBERRY_PATH}\perl\lib\CORE\' $shell_loc -o ${scriptDir}/slic3r.o"
- # Compile an object file with --gui automatically passed as an argument
- Invoke-Expression "$cxx -c -I'${STRAWBERRY_PATH}\perl\lib\CORE\' -DFORCE_GUI $shell_loc -o ${scriptDir}/slic3r-gui.o"
- # Build the EXE for the unforced version as slic3r-console
- Invoke-Expression "$cxx -static-libgcc -static-libstdc++ -L'${STRAWBERRY_PATH}\c\lib' -L'${STRAWBERRY_PATH}\perl\bin' -L'${STRAWBERRY_PATH}\perl\lib\CORE\' $perllib ${scriptDir}/slic3r.o ${scriptDir}/slic3r.res -o ${scriptDir}/slic3r-console.exe | Write-Host"
- # Build the EXE for the forced GUI
- Invoke-Expression "$cxx -static-libgcc -static-libstdc++ -L'${STRAWBERRY_PATH}\c\lib' -mwindows -L'${STRAWBERRY_PATH}\perl\bin' -L'${STRAWBERRY_PATH}\perl\lib\CORE\' $perllib ${scriptDir}/slic3r-gui.o ${scriptDir}/slic3r.res -o ${scriptDir}/slic3r.exe | Write-Host"
- # Build an extra copy of the GUI version that creates a console window
- Invoke-Expression "$cxx -static-libgcc -static-libstdc++ -L'${STRAWBERRY_PATH}\c\lib' -L'${STRAWBERRY_PATH}\perl\bin' -L'${STRAWBERRY_PATH}\perl\lib\CORE\' $perllib ${scriptDir}/slic3r-gui.o ${scriptDir}/slic3r.res -o ${scriptDir}/slic3r-debug-console.exe | Write-Host"
|