From 23641aa8191b753ed2006a719219bb547772ad23 Mon Sep 17 00:00:00 2001 From: teachingtechYT Date: Fri, 8 Mar 2024 09:25:44 +1100 Subject: [PATCH] Create c-cpp.yml --- .github/workflows/c-cpp.yml | 131 ++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 .github/workflows/c-cpp.yml diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 000000000..bba1fc5b4 --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,131 @@ +name: Build All + +on: + push: + branches: [ "nonplanar" ] + pull_request: + branches: [ "nonplanar" ] + +jobs: + linux: + runs-on: ubuntu-latest + steps: + - name: 0. Prerequisities + run: sudo apt-get install -y git build-essential autoconf cmake libglu1-mesa-dev libgtk-3-dev libdbus-1-dev + - name: 1. Cloning the repository + uses: actions/checkout@v3 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }} + - name: Determine dependency hash + id: dephash + run: echo dephash=$(git rev-parse HEAD:deps) >> $GITHUB_OUTPUT + - name: Cache Dependencies + id: cache-dependencies + uses: actions/cache@v3 + with: + path: deps/build/destdir + key: dependencycache-${{ runner.os }}-${{ steps.dephash.outputs.dephash }} + - name: Cache Download Files + if: steps.cache-dependencies.outputs.cache-hit != 'true' + id: cache-download + uses: actions/cache@v3 + with: + path: deps/download + key: downloadcache-${{ runner.os }}-${{ github.run_id }} + restore-keys: | + downloadcache-${{ runner.os }} + - name: Download GMP + if: steps.cache-dependencies.outputs.cache-hit != 'true' + run: | + mkdir -p deps/download/GMP + test -r deps/download/GMP/gmp-6.2.1.tar.bz2 || curl -o deps/download/GMP/gmp-6.2.1.tar.bz2 https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2 + - name: 2. Building dependencies + if: steps.cache-dependencies.outputs.cache-hit != 'true' + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + cd deps + mkdir -p build + cd build + cmake .. -DDEP_WX_GTK3=ON -DDEP_DOWNLOAD_DIR=$(pwd)/../download + make + cd ../.. + - name: 3. Building PrusaSlicer + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + mkdir build + cd build + cmake .. -DSLIC3R_STATIC=1 -DSLIC3R_GTK=3 -DSLIC3R_PCH=OFF -DCMAKE_PREFIX_PATH=$(pwd)/../deps/build/destdir/usr/local + make -j $(nproc) + macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }} + - name: Determine dependency hash + id: dephash + run: echo dephash=$(git rev-parse HEAD:deps) >> $GITHUB_OUTPUT + - name: Cache Dependencies + id: cache-dependencies + uses: actions/cache@v3 + with: + path: deps/build/destdir + key: dependencycache-${{ runner.os }}-${{ steps.dephash.outputs.dephash }} + - name: Cache Download Files + if: steps.cache-dependencies.outputs.cache-hit != 'true' + id: cache-download + uses: actions/cache@v3 + with: + path: deps/download + key: downloadcache-${{ runner.os }}-${{ github.run_id }} + restore-keys: | + downloadcache-${{ runner.os }} + - name: Download GMP + if: steps.cache-dependencies.outputs.cache-hit != 'true' + run: | + mkdir -p deps/download/GMP + test -r deps/download/GMP/gmp-6.2.1.tar.bz2 || curl -o deps/download/GMP/gmp-6.2.1.tar.bz2 https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2 + - name: Dependencies + if: steps.cache-dependencies.outputs.cache-hit != 'true' + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/ + cd deps + mkdir build + cd build + cmake .. -DDEP_DOWNLOAD_DIR=$(pwd)/../download + make + cd ../.. + - name: Building PrusaSlicer + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/ + mkdir build + cd build + cmake .. -DCMAKE_PREFIX_PATH=$(pwd)/../deps/build/destdir/usr/local + make -j $(sysctl -n hw.logicalcpu) + windows: + runs-on: windows-2019 + steps: + - uses: actions/checkout@v3 + - name: Relocate workspace + run: | + md c:\PrusaSlicer + xcopy . c:\PrusaSlicer /s/h + #- name: Download GMP + ##if: steps.cache-dependencies.outputs.cache-hit != 'true' + #run: | + #md c:\PrusaSlicer\deps + #mkdir -p deps/download/GMP + #test -r deps/download/GMP/gmp-6.2.1.tar.bz2 || curl -o deps/download/GMP/gmp-6.2.1.tar.bz2 https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.bz2 + - name: Run the automatic build script + run: | + c: + cd \PrusaSlicer + #./build_win.bat -d=..\PrusaSlicer-deps -r=none -v 17 + ./build_win.bat -d=..\PrusaSlicer-deps -r=none -v 16 +old Windows ยท prusa3d/PrusaSlicer@b511368