Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
f2f0868
feature update the download manager config. fix upload and print dial…
LiuLikeQian Feb 2, 2026
44127be
feature update download manager name.
LiuLikeQian Feb 2, 2026
3842444
feature add download function for web and pc.
LiuLikeQian Feb 3, 2026
9d423d0
add filament_extruder_map (#148)
womendoushihaoyin Feb 4, 2026
ae71ebd
feature add download dialog for download file.
LiuLikeQian Feb 4, 2026
779e271
feature add download files and rename file(1),and check the dir and t…
LiuLikeQian Feb 4, 2026
1f206dc
feature add download file for wcp logic.
LiuLikeQian Feb 4, 2026
dfb83e4
fix lock bug.
LiuLikeQian Feb 4, 2026
a609bc6
fix lock bug, and remove not work code.
LiuLikeQian Feb 4, 2026
3478735
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Feb 4, 2026
15d92dc
Merge pull request #150 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 4, 2026
addffcc
fix download file format incorrect and not tips bug.
LiuLikeQian Feb 5, 2026
3227444
feature add tips for download failed.
LiuLikeQian Feb 5, 2026
db901cc
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Feb 5, 2026
02e7cef
Merge pull request #153 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 5, 2026
77a037a
feature update data for Format.
LiuLikeQian Feb 5, 2026
efcef76
Merge pull request #154 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 5, 2026
1c0704c
feature update download file and open it function for web.
LiuLikeQian Feb 5, 2026
1079026
Merge pull request #155 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 5, 2026
66db67a
feature fix build failed bug.
LiuLikeQian Feb 6, 2026
ff5ac42
Merge pull request #156 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 6, 2026
91a1640
fix linux build failed bug.
LiuLikeQian Feb 6, 2026
696eeab
Merge pull request #157 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 6, 2026
af583c7
feature fix api incorrect bug
LiuLikeQian Feb 6, 2026
731549c
feature remove not work code.
LiuLikeQian Feb 9, 2026
38819ed
feature add dir for store the profile on ota dir.
LiuLikeQian Feb 9, 2026
7c2ec32
fix resource remove old file before download.
LiuLikeQian Feb 9, 2026
d15a146
Add Filament_Extruder_map (#160)
womendoushihaoyin Feb 9, 2026
cc36dc0
fix sync request lead to question.
LiuLikeQian Feb 11, 2026
fa8aa56
feature add flutter version profile version for soft start and log it.
LiuLikeQian Feb 25, 2026
75a75bb
fix data invalid bug.
LiuLikeQian Feb 25, 2026
7063427
fix mac import flutter resource failed bug.
LiuLikeQian Feb 25, 2026
f942ebf
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Feb 26, 2026
838c144
fix build failed bug .
LiuLikeQian Feb 26, 2026
3551840
Merge pull request #169 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 27, 2026
5098401
fix mutil color upload and print crash bug.
LiuLikeQian Feb 28, 2026
94e1fb9
fix color invalid bug.
LiuLikeQian Feb 28, 2026
e05a99b
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Feb 28, 2026
29bd051
Merge pull request #170 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Feb 28, 2026
c0899d5
fix linux build failed bug.
LiuLikeQian Feb 28, 2026
ff54f00
feature add pack bat for win local package.
LiuLikeQian Mar 2, 2026
ff5a6a3
feature add license for package.
LiuLikeQian Mar 2, 2026
171f95d
feature add pack scripts for mac local.
LiuLikeQian Mar 3, 2026
eb7caac
Merge branch 'dev_2.3.0_alves' of https://github.com/Snapmaker/OrcaSl…
LiuLikeQian Mar 3, 2026
fddb774
fix linux slice crash question
LiuLikeQian Mar 4, 2026
fb9ff36
Merge branch '2.2.3' into dev_2.2.3_alves_bug_fix
LiuLikeQian Mar 4, 2026
1dc0e3d
fix linux crash bug,update linux version info.
LiuLikeQian Mar 4, 2026
f004e91
fix win size bug on linux.
LiuLikeQian Mar 4, 2026
bef0f6e
fix build failed on linux.
LiuLikeQian Mar 4, 2026
220a96e
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 5, 2026
358aeff
fix code format question
LiuLikeQian Mar 5, 2026
4827860
fix remove not work code.
LiuLikeQian Mar 5, 2026
1fe3c71
Merge pull request #174 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 5, 2026
b0fe085
fix linux build failed with the wxwidget dark theme patch
LiuLikeQian Mar 5, 2026
b27cd73
feature remove the not work code.
LiuLikeQian Mar 5, 2026
263ca4b
fix crash question when the obj is null
LiuLikeQian Mar 5, 2026
fd113a3
fix build linux failed bug.
LiuLikeQian Mar 5, 2026
9d4233b
Merge branch 'dev_2.3.0_alves' of https://github.com/Snapmaker/OrcaSl…
LiuLikeQian Mar 5, 2026
a3a3417
fix linux flatpak process app crash bug.
LiuLikeQian Mar 5, 2026
df34637
feature fix linux crash question.
LiuLikeQian Mar 5, 2026
be8952f
feature lower the gtk version for linux.
LiuLikeQian Mar 5, 2026
5d18dff
fix build failed bugs.
LiuLikeQian Mar 5, 2026
3ac2fb8
fix build failed bug.
LiuLikeQian Mar 6, 2026
9457e6d
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 6, 2026
d105383
Merge pull request #176 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 6, 2026
e8c2aae
feature update linux flatpak gtk version to 47
LiuLikeQian Mar 6, 2026
67cea69
feature fix the patch effect wxwidget build
LiuLikeQian Mar 6, 2026
4ce3e3d
fix gtk and nvidia render lead to crash question.
LiuLikeQian Mar 6, 2026
2e90f8f
feature update flutter module function
LiuLikeQian Mar 6, 2026
dd2d423
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 6, 2026
33d5cca
Merge pull request #177 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 6, 2026
af989ee
fix flutter ui bug
Mar 7, 2026
e6d35be
Merge pull request #178 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 7, 2026
03d2958
feature update gtk version.
LiuLikeQian Mar 9, 2026
c2d4c8b
feature update gtk version
LiuLikeQian Mar 9, 2026
fde24c0
feature update gtk version.
LiuLikeQian Mar 9, 2026
ad8517e
feature update linux gtk version.
LiuLikeQian Mar 9, 2026
0fbe939
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 9, 2026
139ca50
Merge pull request #182 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 9, 2026
3523cdf
Merge branch '2.3.0' into dev_2.2.3_alves_bug_fix
LiuLikeQian Mar 10, 2026
7f03451
Merge branch 'dev_2.3.0_alves' of https://github.com/Snapmaker/OrcaSl…
LiuLikeQian Mar 10, 2026
3ba6ab4
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 10, 2026
5d8d05c
Merge pull request #189 from Snapmaker/dev_2.2.3_alves_bug_fix
LiuLikeQian Mar 10, 2026
0874b31
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
72eb688
feature update version info
LiuLikeQian Mar 11, 2026
551ba30
Merge pull request #191 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
412d730
feature add entrance for mac os.
LiuLikeQian Mar 11, 2026
028bcaa
feature add authority for mac os.
LiuLikeQian Mar 11, 2026
3e2f474
Merge pull request #192 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
65116f6
feature remove not work code and add some logs for check bug, add pro…
LiuLikeQian Mar 11, 2026
dfca8a7
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
52012f0
Merge pull request #193 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
32c5a4c
feature code format.
LiuLikeQian Mar 11, 2026
8737a8b
Merge pull request #194 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
ffc2efd
feature update flutter resource.
LiuLikeQian Mar 11, 2026
df1aced
Merge pull request #195 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 11, 2026
d83fa36
fix build the mac os failed question.
LiuLikeQian Mar 12, 2026
4738042
Merge pull request #196 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 12, 2026
16f0994
feature update flutter resource.
LiuLikeQian Mar 12, 2026
a8aa8e2
Merge pull request #197 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 12, 2026
59c6434
feature add filament for profile.
LiuLikeQian Mar 12, 2026
677ebe9
feature code format.
LiuLikeQian Mar 12, 2026
b689657
feature remove the print view hide logic.
LiuLikeQian Mar 12, 2026
bca8a5c
Merge pull request #198 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 12, 2026
9ed9c9a
feature fix select machine and switch device page bug.
LiuLikeQian Mar 13, 2026
0919694
feature fix modify machine type and switch page bug.
LiuLikeQian Mar 13, 2026
2ecbcf1
Merge pull request #199 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 13, 2026
80b7ccf
feature add flutter resource.
LiuLikeQian Mar 13, 2026
d0bfd04
Merge branch '2.3.0' into dev_2.3.0_alves
LiuLikeQian Mar 13, 2026
3645b0d
feature update flutter resource.
LiuLikeQian Mar 17, 2026
1ac7f42
Merge pull request #209 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 17, 2026
73070ca
feature update version info.
LiuLikeQian Mar 19, 2026
f7f8fa8
Merge pull request #210 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 19, 2026
e3df24d
feature remove the preset tests
LiuLikeQian Mar 19, 2026
4f11b8b
Merge pull request #213 from Snapmaker/dev_2.3.0_alves
LiuLikeQian Mar 19, 2026
fcdd0dd
revert filament&extruder
womendoushihaoyin Mar 23, 2026
b91405a
Fix: issue of gcode.3mf's filename
womendoushihaoyin Mar 23, 2026
b85fbda
Build yaml
womendoushihaoyin Mar 23, 2026
fd8a9d0
Fix brim of wipetower (same with 2.2.3)
womendoushihaoyin Mar 23, 2026
90ff371
Update: Flutter version to 2.3.0
womendoushihaoyin Mar 24, 2026
0542a77
Bump version to 2.3.1
womendoushihaoyin Mar 24, 2026
df841c5
Merge Snapmaker v2.3.0 into FullSpectrum
cguagenti Mar 24, 2026
ef5fd29
Fix OpenVDB clang patch application
cguagenti Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ jobs:
if-no-files-found: error

- name: Deploy Flatpak to nightly release
if: ${{github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3'}}
if: ${{github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final'}}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/build_orca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:

# Thanks to RaySajuuk, it's working now
- name: Sign app and notary
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/') || github.ref == 'refs/heads/2.2.3') && inputs.os == 'macos-14' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/') || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'macos-14' }}
working-directory: ${{ github.workspace }}
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
fi

- name: Create DMG without notary
if: ${{ inputs.os == 'macos-14' && (github.repository != 'Snapmaker/OrcaSlicer' || (github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/release/') && github.ref != 'refs/heads/2.2.3')) }}
if: ${{ inputs.os == 'macos-14' && (github.repository != 'Snapmaker/OrcaSlicer' || (github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/release/') && github.ref != 'refs/heads/2.3.0-final')) }}
working-directory: ${{ github.workspace }}
run: |
mkdir -p ${{ github.workspace }}/build/universal/Snapmaker_Orca_dmg
Expand Down Expand Up @@ -217,7 +217,7 @@ jobs:
if-no-files-found: warn

- name: Deploy Mac release
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'macos-14' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'macos-14' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand All @@ -228,7 +228,7 @@ jobs:
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted

- name: Check if profile validator DMG exists
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'macos-14' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'macos-14' }}
id: check_dmg
working-directory: ${{ github.workspace }}
run: |
Expand All @@ -242,7 +242,7 @@ jobs:
shell: bash

- name: Deploy Mac Snapmaker_Orca_profile_validator DMG release
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'macos-14' && steps.check_dmg.outputs.exists == 'true' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'macos-14' && steps.check_dmg.outputs.exists == 'true' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand Down Expand Up @@ -318,7 +318,7 @@ jobs:
path: ${{ github.workspace }}/build/src/Release/Snapmaker_Orca_profile_validator.exe

- name: Deploy Windows release portable
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'windows-latest' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'windows-latest' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand All @@ -329,7 +329,7 @@ jobs:
max_releases: 1

- name: Deploy Windows release installer
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'windows-latest' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'windows-latest' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand All @@ -340,7 +340,7 @@ jobs:
max_releases: 1

- name: Deploy Windows Snapmaker_Orca_profile_validator release
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'windows-latest' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'windows-latest' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand Down Expand Up @@ -387,7 +387,7 @@ jobs:

- name: Build orca_custom_preset_tests
id: custom_preset_tests
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.1') && inputs.os == 'ubuntu-24.04' }}
if: ${{ github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'ubuntu-24.04' }}
working-directory: ${{ github.workspace }}/build/src/Release
shell: bash
run: |
Expand Down Expand Up @@ -432,7 +432,7 @@ jobs:
path: './build/src/Release/Snapmaker_Orca_profile_validator'

- name: Deploy Ubuntu release
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
env:
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
uses: WebFreak001/deploy-nightly@v3.2.0
Expand All @@ -444,7 +444,7 @@ jobs:
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
- name: Deploy Ubuntu release
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && inputs.os == 'ubuntu-24.04' }}
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'ubuntu-24.04' }}
uses: rickstaa/action-create-tag@v1
with:
tag: "nightly-builds"
Expand All @@ -453,7 +453,7 @@ jobs:
message: "nightly-builds"

- name: Deploy Ubuntu Snapmaker_Orca_profile_validator release
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.3') && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
env:
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
uses: WebFreak001/deploy-nightly@v3.2.0
Expand All @@ -466,7 +466,7 @@ jobs:
max_releases: 1

- name: Deploy orca_custom_preset_tests
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.2.1') && inputs.os == 'ubuntu-24.04' && steps.custom_preset_tests.outputs.created == 'true' }}
if: ${{ ! env.ACT && github.repository == 'Snapmaker/OrcaSlicer' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/2.3.0-final') && inputs.os == 'ubuntu-24.04' && steps.custom_preset_tests.outputs.created == 'true' }}
uses: WebFreak001/deploy-nightly@v3.2.0
with:
upload_url: https://uploads.github.com/repos/Snapmaker/OrcaSlicer/releases/169912305/assets{?name,label}
Expand Down
6 changes: 6 additions & 0 deletions build_release_macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERA
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
echo

# CMake 4.x compatibility workaround for deps/bootstrap projects that still
# declare an old minimum version.
export CMAKE_POLICY_VERSION_MINIMUM=3.5

# if which -s brew; then
# brew --prefix libiconv
# brew --prefix zstd
Expand Down Expand Up @@ -129,11 +133,13 @@ function build_deps() {
(
set -x
mkdir -p "$DEPS"
mkdir -p "$DEPS_DIR/DL_CACHE"
cd "$DEPS_BUILD_DIR"
if [ "1." != "$BUILD_ONLY". ]; then
cmake "${DEPS_DIR}" \
-G "${DEPS_CMAKE_GENERATOR}" \
-DDESTDIR="$DEPS" \
-DDEP_DOWNLOAD_DIR="$DEPS_DIR/DL_CACHE" \
-DOPENSSL_ARCH="darwin64-${_ARCH}-cc" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_OSX_ARCHITECTURES:STRING="${_ARCH}" \
Expand Down
3 changes: 2 additions & 1 deletion deps/OpenVDB/OpenVDB.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Snapmaker_Orca_add_cmake_project(OpenVDB
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
DEPENDS dep_TBB dep_Blosc dep_OpenEXR dep_Boost
PATCH_COMMAND git apply ${OPENVDB_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
CMAKE_ARGS
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
Expand All @@ -38,4 +39,4 @@ if (MSVC)
WORKING_DIRECTORY "${BINARY_DIR}"
)
endif ()
endif ()
endif ()
204 changes: 204 additions & 0 deletions installer.nsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
; [1] PACK_SOURCE_DIR = compile-time only (e.g. .\build\Snapmaker_Orca). [2] INSTALL_DIR_RUNTIME = runtime install dir (default .\ = $EXEDIR).
!include "MUI2.nsh"
!include "FileFunc.nsh"
!include "LogicLib.nsh"

!define PRODUCT_NAME "Snapmaker Orca"
!define PRODUCT_PUBLISHER "Snapmaker"
!define PRODUCT_WEB_SITE "https://github.com/Snapmaker/OrcaSlicer"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define PRODUCT_INSTALL_KEY "Software\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}"

!ifndef VERSION
!define VERSION "2.2.3"
!endif

!ifndef SOURCE_DIR
!define SOURCE_DIR ".\build\Snapmaker_Orca"
!endif
!define PACK_SOURCE_DIR "${SOURCE_DIR}"

; 64-bit app: use PROGRAMFILES64 so default path is C:\Program Files\Snapmaker_Orca, not (x86)
!define INSTALL_DIR_RUNTIME "$PROGRAMFILES64\Snapmaker_Orca"
InstallDir "${INSTALL_DIR_RUNTIME}"

!ifndef OUTPUT_FILE
!define OUTPUT_FILE "Snapmaker_Orca_Windows_Installer_V${VERSION}.exe"
!endif

; License page: show LICENSE.txt from repo root (same dir as this .nsi)
!ifndef LICENSE_FILE
!define LICENSE_FILE ".\LICENSE.txt"
!endif

RequestExecutionLevel admin

; No /SOLID to avoid "Internal compiler error #12345: error mmapping datablock"
SetCompressor lzma

VIProductVersion "${VERSION}.0"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "Comments" "Snapmaker Orca is an open source slicer for FDM printers"
VIAddVersionKey "CompanyName" "${PRODUCT_PUBLISHER}"
VIAddVersionKey "LegalCopyright" "Copyright (C) ${PRODUCT_PUBLISHER}"
VIAddVersionKey "FileDescription" "${PRODUCT_NAME} ${VERSION} Installer"
VIAddVersionKey "FileVersion" "${VERSION}"
VIAddVersionKey "ProductVersion" "${VERSION}"
VIAddVersionKey "InternalName" "${PRODUCT_NAME}"
VIAddVersionKey "LegalTrademarks" ""
VIAddVersionKey "OriginalFilename" "${OUTPUT_FILE}"

; Installer and uninstaller icon: set by build_and_pack.bat via /DICON_FILE=path (e.g. Snapmaker_Orca.ico or snapmaker.ico)
!ifdef ICON_FILE
!define MUI_ICON "${ICON_FILE}"
!define MUI_UNICON "${ICON_FILE}"
!else
!define MUI_ICON ".\resources\images\Snapmaker_Orca.ico"
!define MUI_UNICON ".\resources\images\Snapmaker_Orca.ico"
!endif

!define MUI_WELCOMEPAGE_TITLE "Welcome to ${PRODUCT_NAME} Setup"
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of ${PRODUCT_NAME} ${VERSION}.$\r$\n$\r$\nClick Next to continue."
!insertmacro MUI_PAGE_WELCOME

!ifdef LICENSE_FILE
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "${LICENSE_FILE}"
!endif

!insertmacro MUI_PAGE_COMPONENTS

!define MUI_DIRECTORYPAGE_TEXT_TOP "Choose the folder in which to install ${PRODUCT_NAME}."
!insertmacro MUI_PAGE_DIRECTORY

!insertmacro MUI_PAGE_INSTFILES

!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_TEXT "Run ${PRODUCT_NAME}"
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchApp"
!define MUI_FINISHPAGE_LINK "Visit ${PRODUCT_NAME} website"
!define MUI_FINISHPAGE_LINK_LOCATION "${PRODUCT_WEB_SITE}"
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES

!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "English"

Name "${PRODUCT_NAME} ${VERSION}"
OutFile "${OUTPUT_FILE}"

Section "Main program" SecMain
SectionIn RO

SetOutPath "$INSTDIR"

DetailPrint "Installing ${PRODUCT_NAME}..."
DetailPrint "Target dir: $INSTDIR"

DetailPrint "Copying files..."

; PACK_SOURCE_DIR = compile time only. At runtime this File extracts from embedded payload to $INSTDIR. Exclude include and lib dirs.
File /r /x "*.pdb" /x "*.ilk" /x "*.exp" /x "*.lib" /x "*.obj" /x "*.idb" /x "*.tlog" /x "*.h" /x "*.hpp" /x "*.c" /x "*.cpp" /x "*.cxx" /x "*.cc" /x "*.vcxproj" /x "*.vcxproj.filters" /x "*.sln" /x "*.cmake" /x "*.py" /x "*.md" /x "*.vcxproj.user" /x "CMakeFiles" /x "RelWithDebInfo" /x "Debug" /x "MinSizeRel" /x ".vs" /x "vcpkg_installed" /x "*.dir" /x "include\*" /x "lib\*" "${PACK_SOURCE_DIR}\*.*"

IfFileExists "$INSTDIR\snapmaker-orca.exe" 0 extract_error

DetailPrint "Creating uninstaller..."
WriteUninstaller "$INSTDIR\Uninstall.exe"

DetailPrint "Writing registry..."
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "InstallLocation" "$INSTDIR"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\snapmaker-orca.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "HelpLink" "${PRODUCT_WEB_SITE}"
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "NoModify" 1
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "NoRepair" 1

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_INSTALL_KEY}" "Version" "${VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_INSTALL_KEY}" "InstallPath" "$INSTDIR"

DetailPrint "Installation complete!"
Goto end_section

extract_error:
MessageBox MB_OK|MB_ICONSTOP "Installation failed: snapmaker-orca.exe was not found in the package. The installer may be corrupted."
Abort

end_section:
SectionEnd

Section "Desktop shortcut" SecDesktop
DetailPrint "Creating desktop shortcut..."
CreateShortcut "$DESKTOP\Snapmaker Orca.lnk" "$INSTDIR\snapmaker-orca.exe" "" "$INSTDIR\snapmaker-orca.exe" 0
SectionEnd

Section "Start menu shortcut" SecStartMenu
DetailPrint "Creating start menu shortcut..."
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortcut "$SMPROGRAMS\${PRODUCT_NAME}\Snapmaker Orca.lnk" "$INSTDIR\snapmaker-orca.exe" "" "$INSTDIR\snapmaker-orca.exe" 0
CreateShortcut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
SectionEnd

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecMain} "Install ${PRODUCT_NAME} and all required files."
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} "Create a desktop shortcut for ${PRODUCT_NAME}."
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} "Create a start menu shortcut for ${PRODUCT_NAME}."
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Section "Uninstall"

DetailPrint "Uninstalling ${PRODUCT_NAME}..."

DetailPrint "Checking for running processes..."
nsExec::ExecToLog 'taskkill /F /IM snapmaker-orca.exe /T'
Sleep 500

DetailPrint "Removing desktop shortcut..."
Delete "$DESKTOP\Snapmaker Orca.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"

DetailPrint "Removing start menu shortcut..."
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"

DetailPrint "Removing install directory..."
RMDir /r /REBOOTOK "$INSTDIR"

RMDir "$INSTDIR"

DetailPrint "Removing registry entries..."
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_INSTALL_KEY}"
DeleteRegKey HKCU "${PRODUCT_INSTALL_KEY}"

DetailPrint "Uninstall complete!"
SectionEnd

Function LaunchApp
ExecShell "open" "$INSTDIR\snapmaker-orca.exe"
FunctionEnd

Function .onInit

ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString"
StrCmp $R0 "" done

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"${PRODUCT_NAME} is already installed.$\n$\nClick OK to uninstall the old version, or Cancel to abort." \
IDOK uninst
Abort

uninst:
ClearErrors
ExecWait '$R0 _?=$INSTDIR'

IfErrors no_remove_uninstaller done
no_remove_uninstaller:

done:
FunctionEnd
Loading