Create c-cpp.yml

This commit is contained in:
teachingtechYT 2024-03-08 09:25:44 +11:00 committed by GitHub
parent f5911c330f
commit 23641aa819
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

131
.github/workflows/c-cpp.yml vendored Normal file
View File

@ -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