diff --git a/.github/workflows/ccpp_mac.yml b/.github/workflows/ccpp_mac.yml index f4533559fc9..474a50e0c48 100644 --- a/.github/workflows/ccpp_mac.yml +++ b/.github/workflows/ccpp_mac.yml @@ -9,12 +9,41 @@ on: - debug_macos jobs: - build: + build_dep: + runs-on: macos-12 + steps: + - uses: actions/checkout@v3 + - name: mkdir in deps + run: mkdir deps/build + - name: update automake for mpfr + run: | + curl -O -L http://ftpmirror.gnu.org/automake/automake-1.16.5.tar.gz + tar -xzf automake-1.16.5.tar.gz + cd automake-* + ./configure + make + sudo make install + automake --version + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_intel_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -d + + build: runs-on: macos-12 + needs: build_dep steps: - uses: actions/checkout@v3 + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init - name: check autoconf version run: autoconf --version - name: update automake for mpfr @@ -26,15 +55,21 @@ jobs: make sudo make install automake --version - - name: build deps & slicer - run: ./BuildMacOS.sh -dsi + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_intel_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -si - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos.app - path: build/pack/${{ github.event.repository.name }}/${{ github.event.repository.name }}.app + name: nightly_${{ github.event.repository.name }}-macOS-intel.tgz + path: build/${{ github.event.repository.name }}-macOS-intel.tgz - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos.dmg - path: ${{ github.event.repository.name }}.dmg + name: nightly_${{ github.event.repository.name }}-macOS-intel.dmg + path: build/${{ github.event.repository.name }}-macOS-intel.dmg diff --git a/.github/workflows/ccpp_mac_arm.yml b/.github/workflows/ccpp_mac_arm.yml index c3431ac06fc..4012c5042a2 100644 --- a/.github/workflows/ccpp_mac_arm.yml +++ b/.github/workflows/ccpp_mac_arm.yml @@ -9,8 +9,7 @@ on: - debug_macos jobs: - build: - + build_dep: runs-on: macos-14 steps: @@ -28,15 +27,39 @@ jobs: make sudo make install automake --version - - name: build deps & slicer - run: ./BuildMacOS.sh -adsi + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_arm_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -ad + + build: + runs-on: macos-14 + needs: build_dep + + steps: + - uses: actions/checkout@v3 + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_arm_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -asi - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos_arm_debug.dmg - path: build/${{ github.event.repository.name }}.dmg + name: nightly_${{ github.event.repository.name }}-macOS-arm.dmg + path: build/${{ github.event.repository.name }}-macOS-arm.dmg - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_arm_macos.tar - path: build/${{ github.event.repository.name }}.tar + name: nightly_${{ github.event.repository.name }}-macOS-arm.tgz + path: build/${{ github.event.repository.name }}-macOS-arm.tgz diff --git a/.github/workflows/ccpp_mac_arm_debug.yml b/.github/workflows/ccpp_mac_arm_debug.yml index 566d75f5d32..e230e4d9269 100644 --- a/.github/workflows/ccpp_mac_arm_debug.yml +++ b/.github/workflows/ccpp_mac_arm_debug.yml @@ -1,31 +1,65 @@ -name: C/C++ debug arm macos +name: C/C++ Nightly arm macos on: push: branches: + - Nigthly + - nightly_dev + - nightly_master - debug_macos jobs: - build: + build_dep: + runs-on: macos-14 + + steps: + - uses: actions/checkout@v3 + - name: install autoconf + run: brew install autoconf + - name: check autoconf version + run: autoconf --version + - name: update automake for mpfr + run: | + curl -O -L http://ftpmirror.gnu.org/automake/automake-1.16.5.tar.gz + tar -xzf automake-1.16.5.tar.gz + cd automake-* + ./configure + make + sudo make install + automake --version + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_arm_debug_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -bad + build: runs-on: macos-14 + needs: build_dep steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - name: dep cache + id: cache-action + uses: actions/cache@v3 with: - ref: 'debug_macos' - - name: build deps & slicer - run: ./BuildMacOS.sh -badsi - - name: ls build - working-directory: ./build - run: ls + key: macos_arm_debug_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -basi - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos_arm_debug.dmg - path: build/${{ github.event.repository.name }}.dmg + name: nightly_${{ github.event.repository.name }}-macOS-arm.dmg + path: build/${{ github.event.repository.name }}-macOS-arm.dmg - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_arm_macos.tar - path: build/${{ github.event.repository.name }}.tar + name: nightly_${{ github.event.repository.name }}-macOS-arm.tgz + path: build/${{ github.event.repository.name }}-macOS-arm.tgz diff --git a/.github/workflows/ccpp_mac_arm_rc.yml b/.github/workflows/ccpp_mac_arm_rc.yml index cf49d68462d..88f6b1b9286 100644 --- a/.github/workflows/ccpp_mac_arm_rc.yml +++ b/.github/workflows/ccpp_mac_arm_rc.yml @@ -6,23 +6,44 @@ on: - rc jobs: - build: + build_dep: + runs-on: macos-14 + + steps: + - uses: actions/checkout@v3 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_arm_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -ad + build: runs-on: macos-14 + needs: build_dep steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - name: dep cache + id: cache-action + uses: actions/cache@v3 with: - ref: 'rc' - - name: build deps & slicer - run: ./BuildMacOS.sh -adsi + key: macos_arm_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -asi - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc_arm_macos.dmg - path: build/${{ github.event.repository.name }}.dmg + name: rc_${{ github.event.repository.name }}-macOS-arm.dmg + path: build/${{ github.event.repository.name }}-macOS-arm.dmg - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc_arm_macos.tar - path: build/${{ github.event.repository.name }}.tar + name: rc_${{ github.event.repository.name }}-macOS-arm.tgz + path: build/${{ github.event.repository.name }}-macOS-arm.tgz diff --git a/.github/workflows/ccpp_mac_debug.yml b/.github/workflows/ccpp_mac_debug.yml index fa614c85ae2..be3e9996460 100644 --- a/.github/workflows/ccpp_mac_debug.yml +++ b/.github/workflows/ccpp_mac_debug.yml @@ -1,31 +1,75 @@ -name: C/C++ debug macos +name: C/C++ Nightly macos on: push: branches: + - Nigthly + - nightly_dev + - nightly_master - debug_macos jobs: - build: + build_dep: + runs-on: macos-12 + + steps: + - uses: actions/checkout@v3 + - name: mkdir in deps + run: mkdir deps/build + - name: update automake for mpfr + run: | + curl -O -L http://ftpmirror.gnu.org/automake/automake-1.16.5.tar.gz + tar -xzf automake-1.16.5.tar.gz + cd automake-* + ./configure + make + sudo make install + automake --version + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_intel_debug_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -bd + build: runs-on: macos-12 + needs: build_dep steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: check autoconf version + run: autoconf --version + - name: update automake for mpfr + run: | + curl -O -L http://ftpmirror.gnu.org/automake/automake-1.16.5.tar.gz + tar -xzf automake-1.16.5.tar.gz + cd automake-* + ./configure + make + sudo make install + automake --version + - name: dep cache + id: cache-action + uses: actions/cache@v3 with: - ref: 'debug_macos' - - name: build deps & slicer - run: ./BuildMacOS.sh -bdsi - - name: tar the pack - working-directory: ./build - run: ls + key: macos_intel_debug_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -bsi - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos_debug.dmg - path: build/${{ github.event.repository.name }}.dmg + name: debug_${{ github.event.repository.name }}-macOS-intel.tgz + path: build/${{ github.event.repository.name }}-macOS-intel.tgz - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_macos.tar - path: ${{ github.event.repository.name }}.tar + name: debug_${{ github.event.repository.name }}-macOS-intel.dmg + path: build/${{ github.event.repository.name }}-macOS-intel.dmg diff --git a/.github/workflows/ccpp_mac_rc.yml b/.github/workflows/ccpp_mac_rc.yml index 5da8df1581e..9b01e40cca6 100644 --- a/.github/workflows/ccpp_mac_rc.yml +++ b/.github/workflows/ccpp_mac_rc.yml @@ -7,21 +7,47 @@ on: - debug_macos jobs: - build: + build_dep: + runs-on: macos-12 + + steps: + - uses: actions/checkout@v3 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_intel_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildMacOS.sh -d + build: runs-on: macos-12 + needs: build_dep steps: - uses: actions/checkout@v3 - - name: build deps & slicer - run: ./BuildMacOS.sh -dsi + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: macos_intel_2.7 + path: deps/build/destdir + - name: build slicer + run: ./BuildMacOS.sh -si - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc_macos.app - path: build/pack/${{ github.event.repository.name }}/${{ github.event.repository.name }}.app + name: rc_${{ github.event.repository.name }}-macOS.tgz + path: build/${{ github.event.repository.name }}-macOS-intel.tgz - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc_macos.dmg - path: ${{ github.event.repository.name }}.dmg + name: rc_${{ github.event.repository.name }}-macOS.dmg + path: build/${{ github.event.repository.name }}-macOS-intel.dmg diff --git a/.github/workflows/ccpp_ubuntu.yml b/.github/workflows/ccpp_ubuntu.yml deleted file mode 100644 index 05ac71690a8..00000000000 --- a/.github/workflows/ccpp_ubuntu.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: C/C++ Nightly ubuntu - -on: - push: - branches: - - Nigthly - - nightly_dev - - nightly_master - - debug_ubuntu - -jobs: - build: - - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v3 - - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 - with: - cmake-version: '3.16.x' - - name: update submodule profiles - working-directory: ./resources/profiles - run: git submodule update --init - - name: change date in version - run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc - - name: update clock - run: sudo hwclock -s - - name: update apt - run: sudo apt update - - name: install gtk2 glew - run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev gettext - - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -dgsi - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: nightly_linux_gtk2.tar - path: build/${{ github.event.repository.name }}.tar - - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 - with: - name: ${{ github.event.repository.name }}-gtk2.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage diff --git a/.github/workflows/ccpp_ubuntu_debug.yml b/.github/workflows/ccpp_ubuntu_debug.yml deleted file mode 100644 index b9ec63b3fc4..00000000000 --- a/.github/workflows/ccpp_ubuntu_debug.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: C/C++ debug ubuntu - -on: - push: - branches: - - debug_ubuntu - -jobs: - build: - - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - with: - ref: 'debug_ubuntu' - - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 - with: - cmake-version: '3.16.x' - - name: change date in version - run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc - - name: update clock - run: sudo hwclock -s - - name: update apt - run: sudo apt update - - name: install gtk2 glew - run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev libssl-dev libcurl4-openssl-dev gettext - - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -bdgsi - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: nightly_linux_gtk2.tar - path: build/${{ github.event.repository.name }}.tar - - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 - with: - name: ${{ github.event.repository.name }}-gtk2.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk2.yml b/.github/workflows/ccpp_ubuntu_gtk2.yml new file mode 100644 index 00000000000..926f51c28e9 --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk2.yml @@ -0,0 +1,55 @@ +name: C/C++ Nightly ubuntu-GTK2 + +on: + push: + branches: + - Nigthly + - nightly_dev + - nightly_master + - debug_ubuntu + +jobs: + build: + + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v1.13 + with: + cmake-version: '3.16.x' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: change date in version + run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 + run: sudo apt install libgtk2.0-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk2_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -gd + - name: slicer, tar & appimage + run: ./BuildLinux.sh -gsi + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: nightly_${{ github.event.repository.name }}-linux-x64-GTK2.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.tgz + - name: Upload appimage + uses: actions/upload-artifact@v4 + with: + name: nightly_${{ github.event.repository.name }}-linux-x64-GTK2.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk2_debug.yml b/.github/workflows/ccpp_ubuntu_gtk2_debug.yml new file mode 100644 index 00000000000..8d7222f1755 --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk2_debug.yml @@ -0,0 +1,54 @@ +name: C/C++ debug ubuntu + +on: + push: + branches: + - debug_ubuntu + +jobs: + build: + + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + with: + ref: 'debug_ubuntu' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v1.13 + with: + cmake-version: '3.16.x' + - name: change date in version + run: sed -i "s/+UNKNOWN/_$(date '+%F')/" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 + run: sudo apt install libgtk2.0-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk2_debug_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -bgd + - name: build slicer, tar & appimage + run: ./BuildLinux.sh -bgsi + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: debug_${{ github.event.repository.name }}-linux-x64-GTK2.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.tgz + - name: Upload appimage + uses: actions/upload-artifact@v4 + with: + name: debug_${{ github.event.repository.name }}-linux-x64-GTK2.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk2_rc.yml b/.github/workflows/ccpp_ubuntu_gtk2_rc.yml new file mode 100644 index 00000000000..bf4cf4dd25d --- /dev/null +++ b/.github/workflows/ccpp_ubuntu_gtk2_rc.yml @@ -0,0 +1,72 @@ +name: C/C++ Release candidate ubuntu-GTK2 + +on: + push: + branches: + - rc + +jobs: + build_dep: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk2_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -gd + + build: + runs-on: ubuntu-20.04 + needs: build_dep + + steps: + - uses: actions/checkout@v3 + with: + ref: 'rc' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init + - name: Setup cmake + uses: jwlawson/actions-setup-cmake@v1.13 + with: + cmake-version: '3.16.x' + - name: change date in version + run: sed -i "s/+UNKNOWN//" version.inc + - name: update clock + run: sudo hwclock -s + - name: update apt + run: sudo apt update + - name: install gtk2 + run: sudo apt install libgtk2.0-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk2_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -gd + - name: slicer, tar & appimage + run: ./BuildLinux.sh -gsi + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: rc_${{ github.event.repository.name }}-linux-x64-GTK2.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.tgz + - name: Upload appimage + uses: actions/upload-artifact@v4 + with: + name: rc_${{ github.event.repository.name }}-linux-x64-GTK2.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK2.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk3.yml b/.github/workflows/ccpp_ubuntu_gtk3.yml index b342931fbff..7efff88b3b0 100644 --- a/.github/workflows/ccpp_ubuntu_gtk3.yml +++ b/.github/workflows/ccpp_ubuntu_gtk3.yml @@ -15,6 +15,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init - name: Setup cmake uses: jwlawson/actions-setup-cmake@v1.13 with: @@ -25,17 +28,28 @@ jobs: run: sudo hwclock -s - name: update apt run: sudo apt update - - name: install gtk3 glew - run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev gettext - - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -dsi + - name: install gtk3 + run: sudo apt install libgtk-3-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk3_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -d + - name: slicer, tar & appimage + run: ./BuildLinux.sh -si - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_linux_gtk3.tar - path: build/${{ github.event.repository.name }}.tar + name: nightly_${{ github.event.repository.name }}-linux-x64-GTK3.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.tgz - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: ${{ github.event.repository.name }}-gtk3.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage + name: nightly_${{ github.event.repository.name }}-linux-x64-GTK3.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk3_debug.yml b/.github/workflows/ccpp_ubuntu_gtk3_debug.yml index 07510d67c2f..e40f50aec87 100644 --- a/.github/workflows/ccpp_ubuntu_gtk3_debug.yml +++ b/.github/workflows/ccpp_ubuntu_gtk3_debug.yml @@ -11,9 +11,12 @@ jobs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: 'debug_ubuntu' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init - name: Setup cmake uses: jwlawson/actions-setup-cmake@v1.13 with: @@ -24,18 +27,28 @@ jobs: run: sudo hwclock -s - name: update apt run: sudo apt update - - name: install gtk3 glew - run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev libssl-dev libcurl4-openssl-dev gettext + - name: install gtk3 + run: sudo apt install libgtk-3-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk3_debug_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -bd - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -bdsi + run: ./BuildLinux.sh -bsi - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: nightly_linux_gtk3.tar - path: build/${{ github.event.repository.name }}.tar + name: debug_${{ github.event.repository.name }}-linux-x64-GTK3.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.tgz - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: ${{ github.event.repository.name }}-gtk3.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage - + name: debug_${{ github.event.repository.name }}-linux-x64-GTK3.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.AppImage diff --git a/.github/workflows/ccpp_ubuntu_gtk3_rc.yml b/.github/workflows/ccpp_ubuntu_gtk3_rc.yml index 2c312d3e8b2..774696fd184 100644 --- a/.github/workflows/ccpp_ubuntu_gtk3_rc.yml +++ b/.github/workflows/ccpp_ubuntu_gtk3_rc.yml @@ -13,9 +13,12 @@ jobs: env: EXEC_NAME: "${{ github.event.repository.name }}" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: 'rc' + - name: update submodule profiles + working-directory: ./resources/profiles + run: git submodule update --init - name: Setup cmake uses: jwlawson/actions-setup-cmake@v1.13 with: @@ -26,17 +29,28 @@ jobs: run: sudo hwclock -s - name: update apt run: sudo apt update - - name: install gtk3 glew - run: sudo apt install libgtk-3-dev libglew-dev libudev-dev libdbus-1-dev gettext - - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -dsi + - name: install gtk3 + run: sudo apt install libgtk-3-dev + - name: install libs + run: sudo ./BuildLinux.sh -u + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: ubu_gtk3_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + run: ./BuildLinux.sh -d + - name: slicer, tar & appimage + run: ./BuildLinux.sh -si - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc_linux_gtk3.tar - path: build/${{ github.event.repository.name }}.tar + name: rc_${{ github.event.repository.name }}-linux-x64-GTK3.tgz + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.tgz - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: - name: rc-${{ github.event.repository.name }}-gtk3.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage + name: rc_${{ github.event.repository.name }}-linux-x64-GTK3.AppImage + path: build/${{ github.event.repository.name }}-linux-x64-GTK3.AppImage diff --git a/.github/workflows/ccpp_ubuntu_rc.yml b/.github/workflows/ccpp_ubuntu_rc.yml deleted file mode 100644 index db1c2128c83..00000000000 --- a/.github/workflows/ccpp_ubuntu_rc.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: C/C++ Release candidate ubuntu - -on: - push: - branches: - - rc - -jobs: - build: - - runs-on: ubuntu-20.04 - - steps: - - uses: actions/checkout@v2 - with: - ref: 'rc' - - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 - with: - cmake-version: '3.16.x' - - name: change date in version - run: sed -i "s/+UNKNOWN//" version.inc - - name: update clock - run: sudo hwclock -s - - name: update apt - run: sudo apt update - - name: install gtk2 glew - run: sudo apt install libgtk2.0-dev libglew-dev libudev-dev libdbus-1-dev gettext - - name: build deps & slicer, tar & appimage - run: ./BuildLinux.sh -dgsi - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: rc_linux_gtk2.tar - path: build/${{ github.event.repository.name }}.tar - - name: Upload appimage - uses: actions/upload-artifact@v1.0.0 - with: - name: rc-${{ github.event.repository.name }}-gtk2.AppImage - path: build/${{ github.event.repository.name }}_ubu64.AppImage diff --git a/.github/workflows/ccpp_win.yml b/.github/workflows/ccpp_win.yml index 79a23133209..605c0d867db 100644 --- a/.github/workflows/ccpp_win.yml +++ b/.github/workflows/ccpp_win.yml @@ -8,12 +8,33 @@ on: - nightly_master jobs: + build_dep: + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + working-directory: ./deps/build + run: | + cmake .. -G "Visual Studio 16 2019" -A x64 + msbuild /m ALL_BUILD.vcxproj build: runs-on: windows-2019 + needs: build_dep steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - uses: ilammy/msvc-dev-cmd@v1 - name: update submodule profiles working-directory: ./resources/profiles @@ -21,18 +42,16 @@ jobs: - name: change date in version shell: powershell run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("-" + [datetime]::Today.ToString("yyyy-MM-dd"))} | Set-Content version.inc - - run: mkdir deps/destdir - - name: copy deps - working-directory: ./deps/destdir - shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_27/deps_win.zip", "deps_win.zip")' - - name: unzip deps - working-directory: ./deps/destdir - shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip' + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_2.7 + path: deps/build/destdir - run: dir deps - - run: dir deps/destdir - - run: dir deps/destdir/usr + - run: dir deps/build + - run: dir deps/build/destdir + - run: dir deps/build/destdir/usr - run: mkdir msgfmt_bin - name: copy gettext working-directory: ./msgfmt_bin @@ -49,7 +68,7 @@ jobs: - run: mkdir build - name: cmake working-directory: ./build - run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local" + run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\build\destdir\usr\local" - name: make working-directory: ./build run: msbuild /m /P:Configuration=RelWithDebInfo INSTALL.vcxproj @@ -99,7 +118,7 @@ jobs: # shell: cmd # run: '"C:/Program Files/7-Zip/7z.exe" a -tzip nightly.zip *' - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: name: nightly_win64 path: build/package/ diff --git a/.github/workflows/ccpp_win_debug.yml b/.github/workflows/ccpp_win_debug.yml index 480125b2652..229c59351ae 100644 --- a/.github/workflows/ccpp_win_debug.yml +++ b/.github/workflows/ccpp_win_debug.yml @@ -7,24 +7,45 @@ on: jobs: + build_dep: + runs-on: windows-2019 + needs: build_pot + + steps: + - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_debug_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + working-directory: ./deps/build + run: | + cmake .. -G "Visual Studio 16 2019" -A x64 + msbuild /m ALL_BUILD.vcxproj + build_pot: runs-on: windows-2019 + needs: build_dep steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - uses: ilammy/msvc-dev-cmd@v1 - name: update submodule profiles working-directory: ./resources/profiles run: git submodule update --init - run: mkdir deps/destdir - - name: copy deps - working-directory: ./deps/destdir - shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_27/deps_win.zip", "deps_win.zip")' - - name: unzip deps - working-directory: ./deps/destdir - shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip' + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_2.7 + path: deps/build/destdir - run: dir deps - run: dir deps/destdir - run: dir deps/destdir/usr @@ -52,34 +73,12 @@ jobs: working-directory: ./build run: msbuild /m /P:Configuration=RelWithDebInfo gettext_make_pot.vcxproj - build_dep: - runs-on: windows-2019 - needs: build_pot - - steps: - - uses: actions/checkout@v2 - with: - ref: 'debug_win' - - uses: ilammy/msvc-dev-cmd@v1 - - name: mkdir in deps - run: mkdir deps/build - - name: cmake and make deps - working-directory: ./deps/build - run: | - cmake .. -G "Visual Studio 16 2019" -A x64 - msbuild /m ALL_BUILD.vcxproj - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: deps_win - path: ./deps/build/destdir/ - build: runs-on: windows-2019 needs: build_dep steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - uses: ilammy/msvc-dev-cmd@v1 - name: update submodule profiles working-directory: ./resources/profiles @@ -89,11 +88,12 @@ jobs: run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("_" + [datetime]::Today.ToString("yyyy-MM-dd"))} | Set-Content version.inc - name: mkdir in deps directory run: mkdir deps/destdir - - name: download deps - uses: actions/download-artifact@v1 + - name: dep cache + id: cache-action + uses: actions/cache@v3 with: - name: deps_win - path: deps/destdir + key: win_2.7 + path: deps/build/destdir - run: dir deps - run: dir deps/destdir - run: mkdir msgfmt_bin @@ -112,7 +112,7 @@ jobs: - run: mkdir build - name: cmake working-directory: ./build - run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local" + run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\build\destdir\usr\local" - name: make working-directory: ./build run: msbuild /m /P:Configuration=Debug INSTALL.vcxproj @@ -160,7 +160,7 @@ jobs: # shell: cmd # run: '"C:/Program Files/7-Zip/7z.exe" a -tzip nightly.zip *' - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: name: nightly_win64_debug path: build/package/ diff --git a/.github/workflows/ccpp_win_deps.yml b/.github/workflows/ccpp_win_deps.yml deleted file mode 100644 index 9155f24fd8f..00000000000 --- a/.github/workflows/ccpp_win_deps.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: C/C++ dep build windows x64 - -on: - push: - branches: - - debug_win - -jobs: - build_dep: - runs-on: windows-2019 - - steps: - - uses: actions/checkout@v3 - - uses: ilammy/msvc-dev-cmd@v1 - - name: mkdir in deps - run: mkdir deps/build - - name: cmake and make deps - working-directory: ./deps/build - run: | - cmake .. -G "Visual Studio 16 2019" -A x64 - msbuild /m ALL_BUILD.vcxproj - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: deps_win - path: ./deps/build/destdir/ - - build: - runs-on: windows-2019 - needs: build_dep - - steps: - - uses: actions/checkout@v1 - - uses: ilammy/msvc-dev-cmd@v1 - - name: update submodule profiles - working-directory: ./resources/profiles - run: git submodule update --init - - name: change date in version - shell: powershell - run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("_" + [datetime]::Today.ToString("yyyy-MM-dd"))} | Set-Content version.inc - - run: mkdir deps/destdir - - name: download deps - uses: actions/download-artifact@v1 - with: - name: deps_win - path: deps/destdir - - run: dir deps - - run: dir deps/destdir - - run: mkdir msgfmt_bin - - name: copy gettext - working-directory: ./msgfmt_bin - shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/gettext/gettext-tools-static-0.18.1.1.zip", "gettext.zip")' - - name: unzip - working-directory: ./msgfmt_bin - shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x gettext.zip' - - name: add msgfmt to path - shell: powershell - working-directory: msgfmt_bin - run: echo "$pwd;" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - run: mkdir build - - name: cmake - working-directory: ./build - run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local" - - name: make - working-directory: ./build - run: msbuild /m /P:Configuration=RelWithDebInfo INSTALL.vcxproj - - name: make .mo - working-directory: ./build - run: msbuild /m /P:Configuration=RelWithDebInfo gettext_po_to_mo.vcxproj - - name: make .pot - working-directory: ./build - run: msbuild /m /P:Configuration=RelWithDebInfo gettext_make_pot.vcxproj - - name: create directory and copy into it - working-directory: ./build - run: ls - - name: create directory and copy into it - working-directory: ./build - shell: powershell - #todo: add the opengl folder - run: mkdir package - - name: copy from release - working-directory: ./build - shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/1.75/Slic3r_win_build.zip", "Slic3r_win_build.zip")' - - name: unzip - working-directory: ./build - shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x Slic3r_win_build.zip' - - name: copy missing dll content from old release - working-directory: ./build - shell: cmd - run: | - xcopy /RCYIE Slic3r_win_build\*.dll package\ - xcopy /RCYIE Slic3r_win_build\local-settings.bat package\${{ github.event.repository.name }}_local-settings.bat - xcopy /RCYIE Slic3r_win_build\mesa package\ - - name: copy new resources - working-directory: ./build - shell: cmd - run: xcopy /RCYIE ..\resources package\resources - - name: copy dll & exe - working-directory: ./build - shell: cmd - run: | - xcopy /RCYIE src\RelWithDebInfo\*.dll package\ - xcopy /RCYIE src\RelWithDebInfo\*.exe package\ - xcopy /RCYIE c:\windows\system32\VCRUNTIME140* package\ - del package\opengl32.dll -# - name: create zip -# working-directory: ./build -# shell: cmd -# run: '"C:/Program Files/7-Zip/7z.exe" a -tzip nightly.zip *' - - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 - with: - name: nightly_win64 - path: build/package/ diff --git a/.github/workflows/ccpp_win_rc.yml b/.github/workflows/ccpp_win_rc.yml index 729eeb0ca36..ce294e48894 100644 --- a/.github/workflows/ccpp_win_rc.yml +++ b/.github/workflows/ccpp_win_rc.yml @@ -6,12 +6,33 @@ on: - rc jobs: + build_dep: + runs-on: windows-2019 + + steps: + - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 + - name: mkdir in deps + run: mkdir deps/build + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_2.7 + path: deps/build/destdir + - if: steps.cache-action.outputs.cache-hit != 'true' + name: build deps if new cache + working-directory: ./deps/build + run: | + cmake .. -G "Visual Studio 16 2019" -A x64 + msbuild /m ALL_BUILD.vcxproj build: runs-on: windows-2019 + needs: build_dep steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - uses: ilammy/msvc-dev-cmd@v1 - name: update submodule profiles working-directory: ./resources/profiles @@ -19,18 +40,16 @@ jobs: - name: change date in version shell: powershell run: (Get-Content version.inc) | Foreach-Object {$_ -replace "\+UNKNOWN", ("")} | Set-Content version.inc - - run: mkdir deps/destdir - - name: copy deps - working-directory: ./deps/destdir - shell: powershell - run: '(new-object System.Net.WebClient).DownloadFile("https://github.com/supermerill/SuperSlicer_deps/releases/download/deps_27/deps_win.zip", "deps_win.zip")' - - name: unzip deps - working-directory: ./deps/destdir - shell: cmd - run: '"C:/Program Files/7-Zip/7z.exe" x deps_win.zip' + - name: dep cache + id: cache-action + uses: actions/cache@v3 + with: + key: win_2.7 + path: deps/build/destdir - run: dir deps - - run: dir deps/destdir - - run: dir deps/destdir/usr + - run: dir deps/build + - run: dir deps/build/destdir + - run: dir deps/build/destdir/usr - run: mkdir msgfmt_bin - name: copy gettext working-directory: ./msgfmt_bin @@ -47,7 +66,7 @@ jobs: - run: mkdir build - name: cmake working-directory: ./build - run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\destdir\usr\local" + run: cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="d:\a\${{ github.event.repository.name }}\${{ github.event.repository.name }}\deps\build\destdir\usr\local" - name: make working-directory: ./build run: msbuild /m /P:Configuration=Release INSTALL.vcxproj @@ -99,7 +118,7 @@ jobs: # shell: cmd # run: '"C:/Program Files/7-Zip/7z.exe" a -tzip nightly.zip *' - name: Upload artifact - uses: actions/upload-artifact@v1.0.0 + uses: actions/upload-artifact@v4 with: name: rc_win64 path: build/package/ diff --git a/BuildLinux.sh b/BuildLinux.sh index 0703bccfca6..285d568e940 100755 --- a/BuildLinux.sh +++ b/BuildLinux.sh @@ -79,7 +79,7 @@ function check_operating_system() { function check_available_memory_and_disk() { FREE_MEM_GB=$(free -g -t | grep 'Mem:' | rev | cut -d" " -f1 | rev) - MIN_MEM_GB=5 + MIN_MEM_GB=3 FREE_DISK_KB=$(df -k . | tail -1 | awk '{print $4}') MIN_DISK_KB=$((10 * 1024 * 1024)) @@ -234,10 +234,14 @@ then pushd destdir/usr/local/lib > /dev/null if [[ -z "$FOUND_GTK3_DEV" ]] then - cp libwxscintilla-3.1.a libwx_gtk2u_scintilla-3.1.a + cp libwxscintilla-3.2.a libwx_gtk2u_scintilla-3.2.a else - cp libwxscintilla-3.1.a libwx_gtk3u_scintilla-3.1.a + cp libwxscintilla-3.2.a libwx_gtk3u_scintilla-3.2.a fi + echo "> ls destdir/usr/local/lib" + ls -al . + echo "> ls ROOT/deps/build/destdir/usr/local/lib" + ls -al $ROOT/deps/build/destdir/usr/local/lib popd > /dev/null popd > /dev/null echo -e "\n ... done\n" @@ -311,6 +315,14 @@ then pushd build > /dev/null $ROOT/build/src/BuildLinuxImage.sh -a $FORCE_GTK2 popd > /dev/null + echo "> ls ROOT" + ls -al $ROOT + echo "> ls ROOT/build" + ls -al $ROOT/build + echo "> ls -al ROOT/build/bin" + ls -al $ROOT/build/bin + echo "> ls -al ROOT/build/src" + ls -al $ROOT/build/src fi if [[ -n "$BUILD_IMAGE" ]] @@ -320,4 +332,12 @@ then pushd build > /dev/null $ROOT/build/src/BuildLinuxImage.sh -i $FORCE_GTK2 popd > /dev/null + echo "> ls ROOT" + ls -al $ROOT + echo "> ls ROOT/build" + ls -al $ROOT/build + echo "> ls -al ROOT/build/bin" + ls -al $ROOT/build/bin + echo "> ls -al ROOT/build/src" + ls -al $ROOT/build/src fi diff --git a/BuildMacOS.sh b/BuildMacOS.sh index 8475300a72f..1421d181c8a 100755 --- a/BuildMacOS.sh +++ b/BuildMacOS.sh @@ -35,15 +35,25 @@ case $( "${OS_FOUND}" | tr '[:upper:]' '[:lower:]') in ;; esac +export TERM=xterm-256color + # check operating system +BUILD_IMG_ARCH="" echo if [ $TARGET_OS == "macos" ]; then if [ $(uname -m) == "x86_64" ]; then echo -e "$(tput setaf 2)macOS x86_64 found$(tput sgr0)\n" - Processor="64" + Processor="x86_64" + BUILD_IMG_ARCH="-x" + echo "x86 BUILD_IMG_ARCH=${BUILD_IMG_ARCH}\n" elif [[ $(uname -m) == "i386" || $(uname -m) == "i686" ]]; then + echo "$(tput setaf 2)macOS i386 / i686 (arm?) found$(tput sgr0)\n" + Processor="arm64" + BUILD_IMG_ARCH="-a" + elif [ $(uname -m) == "arm64" ]; then echo "$(tput setaf 2)macOS arm64 found$(tput sgr0)\n" - Processor="64" + Processor="arm64" + BUILD_IMG_ARCH="-a" else echo "$(tput setaf 1)Unsupported OS: macOS $(uname -m)" exit -1 @@ -53,6 +63,7 @@ else echo -e "Please use a macOS.$(tput sgr0)\n" exit -1 fi +echo "BUILD_IMG_ARCH=${BUILD_IMG_ARCH}\n" # Check if CMake is installed export CMAKE_INSTALLED=`which cmake` @@ -72,11 +83,11 @@ while getopts ":idaxbhcsltwr" opt; do ;; a ) BUILD_ARCH="arm64" - BUILD_IMG="-a" + BUILD_IMG_ARCH="-a" ;; x ) BUILD_ARCH="x86_64" - BUILD_IMG="-x" + BUILD_IMG_ARCH="-x" ;; b ) BUILD_DEBUG="1" @@ -134,6 +145,7 @@ then fi echo "Build architecture: ${BUILD_ARCH}" +echo "Build IMG_ARCH=${BUILD_IMG_ARCH}\n" echo "\n/Applications:\n" ls /Applications @@ -159,6 +171,15 @@ export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/ export $BUILD_ARCH export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/ +echo -n "[1/9] Updating submodules..." +{ + # update submodule profiles + pushd resources/profiles + git submodule update --init + popd +} #> $ROOT/build/Build.log # Capture all command output +echo "done" + echo -n "[2/9] Changing date in version..." { # change date in version @@ -200,7 +221,7 @@ then echo -e "[4/9] Building dependencies ...\n" # make deps - make -j1 + make -j$NCORES echo -e "\n ... done\n" @@ -239,7 +260,7 @@ then # mkdir build if [ ! -d "build" ] then - mkdir build + mkdir build fi BUILD_ARGS="" @@ -286,20 +307,16 @@ then popd > /dev/null echo -e "\n ... done" - - # Give proper permissions to script - chmod 755 $ROOT/build/src/BuildMacOSImage.sh - - pushd build > /dev/null - $ROOT/build/src/BuildMacOSImage.sh -p $BUILD_IMG popd > /dev/null - echo "ls ROOT" - ls $ROOT - echo "ls ROOT/build" - ls $ROOT/build - echo "ls -al ROOT/build/src" - ls -al $ROOT/build/src + echo "> ls ROOT" + ls -al $ROOT + echo "> ls ROOT/build" + ls -al $ROOT/build + echo "> ls -al ROOT/build/bin" + ls -al $ROOT/build/bin + echo "> ls -al ROOT/build/src" + ls -al $ROOT/build/src fi if [[ -n "$BUILD_IMAGE" ]] @@ -307,7 +324,15 @@ then # Give proper permissions to script chmod 755 $ROOT/build/src/BuildMacOSImage.sh pushd build > /dev/null - $ROOT/build/src/BuildMacOSImage.sh -i $BUILD_IMG + echo "> $ROOT/build/src/BuildMacOSImage.sh -i ${BUILD_IMG_ARCH}" + $ROOT/build/src/BuildMacOSImage.sh -i $BUILD_IMG_ARCH popd > /dev/null + echo "> ls ROOT" + ls -al $ROOT + echo "> ls ROOT/build" + ls -al $ROOT/build + echo "> ls -al ROOT/build/bin" + ls -al $ROOT/build/bin + echo "> ls -al ROOT/build/src" + ls -al $ROOT/build/src fi - diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index d05a2ddc87f..23cc1a9f3b5 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3945,7 +3945,7 @@ std::string GCodeGenerator::extrude_loop_vase(const ExtrusionLoop &original_loop //get extrusion length coordf_t length = 0; for (ExtrusionPaths::iterator path = paths.begin(); path != paths.end(); ++path) { - path->simplify(std::max(coord_t(SCALED_EPSILON), scale_t(m_config.resolution.value)), false, 0); //not useful, this should have been done before. + //path->simplify(std::max(coord_t(SCALED_EPSILON), scale_t(m_config.resolution.value)), false, 0); //not useful, this should have been done before. length += path->length() * SCALING_FACTOR; } @@ -4676,21 +4676,7 @@ std::string GCodeGenerator::extrude_loop(const ExtrusionLoop &original_loop, con } } if (building_paths.empty()) return ""; - - //simplify paths - for (size_t i=0 ; i< building_paths.size(); ++i){ - ExtrusionPath &path = building_paths[i]; - path.simplify(std::max(coord_t(SCALED_EPSILON), scale_t(m_config.resolution.value)), false, 0); - if (path.length() < std::max(coord_t(SCALED_EPSILON), scale_t(m_config.resolution.value))) { - if (i + 1 < building_paths.size()) { - building_paths[i+1].polyline.set_points().front() = path.polyline.front(); - building_paths.erase(building_paths.begin() + i); - --i; - } else { - building_paths.pop_back(); - } - } - } + const ExtrusionPaths& wipe_paths = building_paths; for (const ExtrusionPath &path : wipe_paths) for (int i = 1; i < path.polyline.size(); ++i) diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp index 688e3e087bf..9627a82ccc3 100644 --- a/src/libslic3r/GCode/FanMover.cpp +++ b/src/libslic3r/GCode/FanMover.cpp @@ -245,7 +245,7 @@ bool parse_number(const std::string_view sv, int& out) // or just create that damn new gcode writer arch void FanMover::_process_T(const std::string_view command) { - if (command.length() > 1) { + if (command.length() > 1 && command[1] >= '0' && command[1] <= '9') { int eid = 0; if (!parse_number(command.substr(1), eid) || eid < 0 || eid > 255) { GCodeFlavor flavor = m_writer.config.gcode_flavor; diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index 4093ebe8b88..b2c40ba3028 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -274,7 +274,7 @@ class WipeTower SHAPE_REVERSED = -1 }; - const float Width_To_Nozzle_Ratio = 1.25f; // desired line width (oval) in multiples of nozzle diameter - may not be actually neccessary to adjust + const float Width_To_Nozzle_Ratio = 1.75f; // desired line width (oval) in multiples of nozzle diameter - may not be actually neccessary to adjust const float WT_EPSILON = 1e-3f; float filament_area() const { return m_filpar[0].filament_area; // all extruders are assumed to have the same filament diameter at this point diff --git a/src/libslic3r/Geometry/ArcWelder.hpp b/src/libslic3r/Geometry/ArcWelder.hpp index ac68bde513f..05eb35457fc 100644 --- a/src/libslic3r/Geometry/ArcWelder.hpp +++ b/src/libslic3r/Geometry/ArcWelder.hpp @@ -101,7 +101,7 @@ inline Eigen::Matrix arc_middle_point( // negative radius: take longer arc // radius must NOT be zero! template -inline typename Float arc_angle( +inline Float arc_angle( const Eigen::MatrixBase &start_pos, const Eigen::MatrixBase &end_pos, const Float radius) @@ -127,7 +127,7 @@ inline typename Float arc_angle( // negative radius: take longer arc // radius must NOT be zero! template -inline typename Float arc_length( +inline Float arc_length( const Eigen::MatrixBase &start_pos, const Eigen::MatrixBase &end_pos, const Float radius) @@ -141,7 +141,7 @@ inline typename Float arc_length( // Calculate positive length of an arc given two points, center and orientation. template -inline typename Float arc_length( +inline Float arc_length( const Eigen::MatrixBase &start_pos, const Eigen::MatrixBase &end_pos, const Eigen::MatrixBase ¢er_pos, diff --git a/src/libslic3r/Polyline.cpp b/src/libslic3r/Polyline.cpp index 21554928a34..e07128d2159 100644 --- a/src/libslic3r/Polyline.cpp +++ b/src/libslic3r/Polyline.cpp @@ -1494,7 +1494,7 @@ void ArcPolyline::make_arc(ArcFittingType with_fitting_arc, coordf_t tolerance, // do only section without arcs size_t idx_start_path = 0, idx_end_mpath; pts.push_back(m_path.front().point); - path.push_back(m_path.front()); + assert(path.empty() || path.front().radius == 0); for (idx_end_mpath = 1; idx_end_mpath < m_path.size(); ++idx_end_mpath) { path.push_back(m_path[idx_end_mpath]); if (m_path[idx_end_mpath].radius == 0) { @@ -1507,24 +1507,27 @@ void ArcPolyline::make_arc(ArcFittingType with_fitting_arc, coordf_t tolerance, if (pts.size() > 2) { // remove strait sections path.resize(idx_start_path); + assert(path.empty() || path.front().radius == 0); // do arc fitting if (with_fitting_arc == ArcFittingType::Bambu) { // === use BBS method === std::vector result; Slic3r::Geometry::ArcFitter::do_arc_fitting_and_simplify(pts, result, tolerance, tolerance, fit_percent_tolerance); // transform PathFittingData into path - size_t last_end = 0; for (Slic3r::Geometry::PathFittingData data : result) { - assert(data.start_point_index == last_end); if (data.path_type == Slic3r::Geometry::EMovePathType::Linear_move) { // add strait section assert(path.empty() || pts[data.start_point_index] == path.back().point); - for (size_t idx_pts = data.start_point_index + 1; idx_pts < data.end_point_index; ++idx_pts) { + assert(path.empty() || path.back().point.coincides_with_epsilon(pts[data.start_point_index])); + for (size_t idx_pts = data.start_point_index + (path.empty() ? 0 : 1); idx_pts < data.end_point_index + 1; ++idx_pts) { path.emplace_back(pts[idx_pts], 0, Geometry::ArcWelder::Orientation::Unknown); } } else if (data.path_type == Slic3r::Geometry::EMovePathType::Arc_move_cw || data.path_type == Slic3r::Geometry::EMovePathType::Arc_move_ccw) { - assert(path.empty() || data.arc_data.start_point == path.back().point); + if (path.empty()) { + path.emplace_back(data.arc_data.start_point, 0, Geometry::ArcWelder::Orientation::Unknown); + } + assert(!path.empty() && data.arc_data.start_point.coincides_with_epsilon(path.back().point)); // now the arc section path.emplace_back(data.arc_data.end_point, data.arc_data.angle_radians, data.arc_data.direction == Slic3r::Geometry::ArcDirection::Arc_Dir_CCW ? @@ -1547,6 +1550,7 @@ void ArcPolyline::make_arc(ArcFittingType with_fitting_arc, coordf_t tolerance, assert(false); } } + assert(path.empty() || path.front().radius == 0); } else /* if (with_fitting_arc == ArcFittingType::ArcWelder)*/ { // === use ArcWelder === Geometry::ArcWelder::Path result = Geometry::ArcWelder::fit_path(pts, tolerance, fit_percent_tolerance); @@ -1575,8 +1579,10 @@ void ArcPolyline::make_arc(ArcFittingType with_fitting_arc, coordf_t tolerance, if (path.empty()) { path.insert(path.end(), result.begin(), result.end()); } else if(result.size() > 0) { + assert(path.back().point.coincides_with_epsilon(result.front().point)); path.insert(path.end(), result.begin() + 1, result.end()); } + assert(path.empty() || path.front().radius == 0); } assert(m_path[idx_end_mpath].point == path.back().point); } @@ -1601,6 +1607,7 @@ void ArcPolyline::make_arc(ArcFittingType with_fitting_arc, coordf_t tolerance, bool ArcPolyline::is_valid() const { #ifdef _DEBUG + assert(m_path.empty() || m_path.front().radius == 0); double min_radius = 0; double max_radius = 0; Point first_center; diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 0b2ce8332e2..5d50c220d0b 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1678,6 +1678,7 @@ ExPolygons dense_fill_fit_to_size(const ExPolygon& bad_polygon_to_cover, void PrintObject::tag_under_bridge() { const float COEFF_SPLIT = 1.5; + coord_t scaled_resolution = std::max(SCALED_EPSILON, scale_t(this->print()->config().resolution.value)); for (size_t region_idx = 0; region_idx < this->print()->num_print_regions(); ++ region_idx) { const PrintRegion* region = &this->print()->get_print_region(region_idx); @@ -1701,7 +1702,7 @@ void PrintObject::tag_under_bridge() { } // run in parallel, it's a costly thing. Slic3r::parallel_for(size_t(0), this->layers().size() - 1, - [this, &layeridx2lregion, &new_surfaces, region, COEFF_SPLIT](const size_t idx_layer) { + [this, &layeridx2lregion, &new_surfaces, region, COEFF_SPLIT, scaled_resolution](const size_t idx_layer) { // we our LayerRegion and the one on top LayerRegion* layerm = layeridx2lregion[idx_layer]; const LayerRegion* previousOne = nullptr; @@ -1855,6 +1856,7 @@ void PrintObject::tag_under_bridge() { : intersection_ex(ExPolygons{ dense_poly }, layerm->fill_no_overlap_expolygons()); //add overlap with everything offseted_dense_polys = offset_ex(offseted_dense_polys, overlap); + ensure_valid(offseted_dense_polys, scaled_resolution); for (ExPolygon offseted_dense_poly : offseted_dense_polys) { Surface dense_surf(surface, offseted_dense_poly); dense_surf.maxNbSolidLayersOnTop = 1; @@ -1863,6 +1865,7 @@ void PrintObject::tag_under_bridge() { } } sparse_polys = union_ex(sparse_polys); + ensure_valid(sparse_polys, scaled_resolution); for (ExPolygon sparse_poly : sparse_polys) { Surface sparse_surf(surface, sparse_poly); surf_to_add.push_back(sparse_surf); @@ -1871,19 +1874,25 @@ void PrintObject::tag_under_bridge() { } else { surface.maxNbSolidLayersOnTop = 1; surf_to_add.clear(); + surface.expolygon.assert_valid(); surf_to_add.push_back(surface); break; } } else { surf_to_add.clear(); + surface.expolygon.assert_valid(); surf_to_add.emplace_back(std::move(surface)); // mitigation: if not possible, don't try the others. break; } } // break go here + for(Surface &srf : surf_to_add) srf.expolygon.assert_valid(); surfs_to_add.insert(surfs_to_add.begin(), surf_to_add.begin(), surf_to_add.end()); - } else surfs_to_add.emplace_back(std::move(surface)); + } else { + surface.expolygon.assert_valid(); + surfs_to_add.emplace_back(std::move(surface)); + } } //layerm->fill_surfaces.surfaces = std::move(surfs_to_add); } diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp index f451af6fbb2..7fd0bf232bf 100644 --- a/src/libslic3r/PrintObjectSlice.cpp +++ b/src/libslic3r/PrintObjectSlice.cpp @@ -273,8 +273,10 @@ static std::vector> slices_to_regions( if (model_volume->is_model_part()) { VolumeSlices &slices_src = volume_slices_find_by_id(volume_slices, model_volume->id()); auto &slices_dst = slices_by_region[layer_range.volume_regions.front().region->print_object_region_id()]; - for (; z_idx < zs.size() && zs[z_idx] < layer_range.layer_height_range.second; ++ z_idx) + for (; z_idx < zs.size() && zs[z_idx] < layer_range.layer_height_range.second; ++z_idx) { slices_dst[z_idx] = std::move(slices_src.slices[z_idx]); + ensure_valid(slices_dst[z_idx], std::max(scale_t(print_config.resolution.value), SCALED_EPSILON)); + } } } else { zs_complex.reserve(zs.size()); @@ -303,6 +305,7 @@ static std::vector> slices_to_regions( zs_complex.push_back({ z_idx, z }); else if (idx_first_printable_region >= 0) { const PrintObjectRegions::VolumeRegion ®ion = layer_range.volume_regions[idx_first_printable_region]; + assert_valid(volume_slices_find_by_id(volume_slices, region.model_volume->id()).slices[z_idx]); slices_by_region[region.region->print_object_region_id()][z_idx] = std::move(volume_slices_find_by_id(volume_slices, region.model_volume->id()).slices[z_idx]); } } @@ -310,6 +313,7 @@ static std::vector> slices_to_regions( throw_on_cancel_callback(); } } + for(auto &slices : slices_by_region) for(auto &expolys : slices) assert_valid(expolys); // Second perform region clipping and assignment in parallel. if (! zs_complex.empty()) { @@ -468,6 +472,7 @@ static std::vector> slices_to_regions( } }); } + for(auto &slices : slices_by_region) for(auto &expolys : slices) assert_valid(expolys); // filament shrink for (const std::unique_ptr& pr : print_object_regions.all_regions) { diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index 618c97b6754..dfcbe128434 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -58,9 +58,9 @@ using Coord2 = double; #endif -inline std::uint16_t operator "" _u(unsigned long long value) +inline uint16_t operator "" _u(unsigned long long value) { - return static_cast(value); + return static_cast(value); } using coordf_t = double; diff --git a/src/platform/osx/BuildMacOSImage.sh.in b/src/platform/osx/BuildMacOSImage.sh.in index 5ec5e1dd50b..295b15c3a00 100644 --- a/src/platform/osx/BuildMacOSImage.sh.in +++ b/src/platform/osx/BuildMacOSImage.sh.in @@ -11,29 +11,32 @@ # 10 Mar 2024, wschadow, added options # -while getopts ":ihag" opt; do +export OS_NAME="macOS" +VERSION_NUMBER="" +while getopts ":ixavh" opt; do case ${opt} in i ) export BUILD_IMAGE="1" ;; + x ) + export OS_NAME="macOS-intel" + ;; a ) - export BUILD_APP="1" + export OS_NAME="macOS-arm" ;; - g ) - export FORCE_GTK2="1" + v ) + export VERSION_NUMBER="-@SLIC3R_VERSION_FULL@" ;; - h ) echo "Usage: ./BuildLinuxImage.sh [-g][-i][-a][-h]" - echo " -g: force gtk2 build" + h ) echo "Usage: ./BuildLinuxImage.sh [-i][-a][-h]" echo " -i: generate Appimage (optional)" - echo " -a: generate tgz (optional)" + echo " -x: set output name for intel (optional)" + echo " -a: set output name for arm (optional)" echo " -h: help" exit 0 ;; esac done -if [[ -n "$BUILD_APP" ]] -then echo -e "\n[8/9] Generating MacOS app..." { # update Info.plist @@ -71,24 +74,24 @@ then find pack/@SLIC3R_APP_KEY@/@SLIC3R_APP_KEY@.app/Contents/Resources/localization -name "Slic3r.mo" -type f -delete # copy bin and do not let it lower case - cp -f src/@SLIC3R_APP_CMD@ pack/@SLIC3R_APP_KEY@/@SLIC3R_APP_KEY@.app/Contents/MacOS/@SLIC3R_APP_KEY@ + cp -f bin/@SLIC3R_APP_CMD@ pack/@SLIC3R_APP_KEY@/@SLIC3R_APP_KEY@.app/Contents/MacOS/@SLIC3R_APP_KEY@ chmod u+x pack/@SLIC3R_APP_KEY@/@SLIC3R_APP_KEY@.app/Contents/MacOS/@SLIC3R_APP_KEY@ cp /usr/local/opt/zstd/lib/libzstd.1.dylib pack/@SLIC3R_APP_KEY@/@SLIC3R_APP_KEY@.app/Contents/MacOS/libzstd.1.dylib } &> $ROOT/Build.log # Capture all command output echo -e "\n ... done\n" -fi if [[ -n "$BUILD_IMAGE" ]] then echo -e "\n[9/9] Creating .tgz and DMG Image for distribution..." { - tar -czvf @SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-macOS.tgz pack/@SLIC3R_APP_KEY@ + tar -czvf @SLIC3R_APP_KEY@${VERSION_NUMBER}-$OS_NAME.tgz pack/@SLIC3R_APP_KEY@ + #tar -czvf @SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-macOS.tgz pack/@SLIC3R_APP_KEY@ # create dmg hdiutil create -ov -fs HFS+ -volname "@SLIC3R_APP_KEY@" -srcfolder "pack/@SLIC3R_APP_KEY@" temp.dmg - hdiutil convert temp.dmg -format UDZO -o @SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-macOS.dmg + hdiutil convert temp.dmg -format UDZO -o @SLIC3R_APP_KEY@${VERSION_NUMBER}-$OS_NAME.dmg rm -f temp.dmg popd diff --git a/src/platform/unix/BuildLinuxImage.sh.in b/src/platform/unix/BuildLinuxImage.sh.in index fa71f3bc97c..2192d563957 100644 --- a/src/platform/unix/BuildLinuxImage.sh.in +++ b/src/platform/unix/BuildLinuxImage.sh.in @@ -21,7 +21,8 @@ fi export ROOT=`pwd` export NCORES=`nproc` -while getopts ":ihag" opt; do +VERSION_NUMBER="" +while getopts ":iagvh" opt; do case ${opt} in i ) export BUILD_IMAGE="1" @@ -32,10 +33,14 @@ while getopts ":ihag" opt; do g ) export FORCE_GTK2="1" ;; + v ) + export VERSION_NUMBER="-@SLIC3R_VERSION_FULL@" + ;; h ) echo "Usage: ./BuildLinuxImage.sh [-g][-i][-a][-h]" echo " -g: force gtk2 build" echo " -i: generate .tgz and Appimage (optional)" echo " -a: generate app (optional)" + echo " -v: with version number (optional)" echo " -h: help" exit 0 ;; @@ -88,19 +93,27 @@ then pushd package > /dev/null if [[ -z "$FORCE_GTK2" ]] then - tar -czvf ../@SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-linux-x64-GTK3.tgz . &>/dev/null + tar -czvf ../@SLIC3R_APP_KEY@${VERSION_NUMBER}-linux-x64-GTK3.tgz . &>/dev/null else - tar -czvf ../@SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-linux-x64-GTK2.tgz . &>/dev/null + tar -czvf ../@SLIC3R_APP_KEY@${VERSION_NUMBER}-linux-x64-GTK2.tgz . &>/dev/null fi + echo "> ls package/.." + ls -al .. + echo "> ls package/../src" + ls -al ../src + echo "> ls -al ROOT(build)/bin" + ls -al $ROOT/bin + echo "> ls -al ROOT(build)/src" + ls -al $ROOT/src chmod +x ../src/build_appimage.sh ../src/build_appimage.sh popd > /dev/null if [[ -z "$FORCE_GTK2" ]] then - mv package/"@SLIC3R_APP_KEY@_ubu64.AppImage" "@SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-linux-x64-GTK3.AppImage" + mv package/"@SLIC3R_APP_KEY@_ubu64.AppImage" "@SLIC3R_APP_KEY@${VERSION_NUMBER}-linux-x64-GTK3.AppImage" else - mv package/"@SLIC3R_APP_KEY@_ubu64.AppImage" "@SLIC3R_APP_KEY@-@SLIC3R_VERSION_FULL@-linux-x64-GTK2.AppImage" + mv package/"@SLIC3R_APP_KEY@_ubu64.AppImage" "@SLIC3R_APP_KEY@${VERSION_NUMBER}-linux-x64-GTK2.AppImage" fi echo -e "\n... done\n" fi diff --git a/src/platform/unix/linux.d/debian b/src/platform/unix/linux.d/debian index 13b2ec81b83..3a656391914 100644 --- a/src/platform/unix/linux.d/debian +++ b/src/platform/unix/linux.d/debian @@ -18,6 +18,7 @@ REQUIRED_DEV_PACKAGES=( libssl-dev libtool libudev-dev + fuse # libwebkit2gtk-4.0-dev # ninja-build m4 diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8baf840a6d1..4233bf5eabb 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -360,8 +360,9 @@ void MainFrame::update_icon() { case ESettingsLayout::Unknown: { break; - } case ESettingsLayout::Old: - case ESettingsLayout::Hidden: + } + case ESettingsLayout::Old: + case ESettingsLayout::Hidden: { if (m_tabpanel->GetPageCount() == 4 && icon_size >= 8) { m_tabpanel->SetPageImage(0, 0); @@ -388,6 +389,7 @@ void MainFrame::update_icon() { } break; #endif + } case ESettingsLayout::Dlg: { if (m_tabpanel->GetPageCount() == 4 && icon_size >= 8) {