Skip to content

Build precompiled cache (Processing.o + PCH) #15

Build precompiled cache (Processing.o + PCH)

Build precompiled cache (Processing.o + PCH) #15

Workflow file for this run

name: Build precompiled cache (Processing.o + PCH)
on:
workflow_dispatch:
push:
paths:
- 'src/Processing.cpp'
- 'src/Processing.h'
- 'src/Processing_defaults.cpp'
permissions:
contents: write
jobs:
linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install gcc-14
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -q
sudo apt-get install -y gcc-14 g++-14 libglfw3-dev libglew-dev
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
- name: Build cache
run: |
mkdir -p cache/linux-x64
CFLAGS="-std=c++2c -O2 -march=x86-64"
LFLAGS="-static-libgcc -static-libstdc++"
DEFS="-DPROCESSING_HAS_STB_IMAGE -DPROCESSING_HAS_STB_TRUETYPE"
INC="-I src"
echo "Building Processing.h.gch..."
g++ $CFLAGS $DEFS $INC -x c++-header src/Processing.h -o cache/linux-x64/Processing.h.gch
echo "Building Processing.o..."
g++ $CFLAGS $LFLAGS $DEFS $INC -c src/Processing.cpp -o cache/linux-x64/Processing.o
echo "Building Processing_defaults.o..."
g++ $CFLAGS $LFLAGS $DEFS $INC -c src/Processing_defaults.cpp -o cache/linux-x64/Processing_defaults.o
echo "Done:"
ls -lh cache/linux-x64/
- uses: actions/upload-artifact@v4
with:
name: cache-linux-x64
path: cache/linux-x64/
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install MinGW
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
install: mingw-w64-x86_64-gcc mingw-w64-x86_64-glfw mingw-w64-x86_64-glew
- name: Build cache
shell: msys2 {0}
run: |
mkdir -p cache/windows-x64
CFLAGS="-std=c++2c -O2 -march=x86-64"
LFLAGS="-static-libgcc -static-libstdc++"
DEFS="-DPROCESSING_HAS_STB_IMAGE -DPROCESSING_HAS_STB_TRUETYPE"
INC="-I src"
echo "Building Processing.h.gch..."
g++ $CFLAGS $DEFS $INC -x c++-header src/Processing.h -o cache/windows-x64/Processing.h.gch
echo "Building Processing.o..."
g++ $CFLAGS $LFLAGS $DEFS $INC -c src/Processing.cpp -o cache/windows-x64/Processing.o
echo "Building Processing_defaults.o..."
g++ $CFLAGS $LFLAGS $DEFS $INC -c src/Processing_defaults.cpp -o cache/windows-x64/Processing_defaults.o
ls -lh cache/windows-x64/
- uses: actions/upload-artifact@v4
with:
name: cache-windows-x64
path: cache/windows-x64/
macos-arm64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install deps
run: |
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
brew install glfw glew
- name: Build cache
run: |
mkdir -p cache/macos-arm64
BREW=$(brew --prefix)
FLAGS="-std=c++2c -O2 -w -DPROCESSING_HAS_STB_IMAGE -DPROCESSING_HAS_STB_TRUETYPE -I src -I $BREW/include"
echo "Building Processing.o..."
g++ $FLAGS -Wno-error -c src/Processing.cpp -o cache/macos-arm64/Processing.o || echo "WARNING: Processing.o build failed, skipping"
echo "Building Processing_defaults.o..."
g++ $FLAGS -Wno-error -c src/Processing_defaults.cpp -o cache/macos-arm64/Processing_defaults.o || echo "WARNING: defaults.o build failed, skipping"
ls -lh cache/macos-arm64/
- uses: actions/upload-artifact@v4
with:
name: cache-macos-arm64
path: cache/macos-arm64/
macos-x64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install deps
run: |
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
brew install glfw glew
- name: Build cache
run: |
mkdir -p cache/macos-x64
BREW=$(brew --prefix)
FLAGS="-std=c++2c -O2 -w -target x86_64-apple-macos10.13 -DPROCESSING_HAS_STB_IMAGE -DPROCESSING_HAS_STB_TRUETYPE -I src -I $BREW/include"
echo "Building Processing.o..."
g++ $FLAGS -Wno-error -c src/Processing.cpp -o cache/macos-x64/Processing.o || echo "WARNING: Processing.o build failed, skipping"
echo "Building Processing_defaults.o..."
g++ $FLAGS -Wno-error -c src/Processing_defaults.cpp -o cache/macos-x64/Processing_defaults.o || echo "WARNING: defaults.o build failed, skipping"
ls -lh cache/macos-x64/
- uses: actions/upload-artifact@v4
with:
name: cache-macos-x64
path: cache/macos-x64/