Skip to content

Add SDL2 building to CMake as default #87

Add SDL2 building to CMake as default

Add SDL2 building to CMake as default #87

Workflow file for this run

name: CI
on:
push:
branches: [master, dev, development, feature/**, bugfix/**, pr/**]
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
linux-gcc:
name: Build (Ubuntu 20.04 LTS x86_64, GCC)
runs-on: ubuntu-20.04
steps:
- name: Install dependencies
run: |
sudo apt-get update -yqq
sudo apt-get install -yqq build-essential libsdl1.2-dev
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz (normal)
run: |
make
ls -l OpenJazz
linux-clang:
name: Build (Ubuntu 20.04 LTS x86_64, Clang)
runs-on: ubuntu-20.04
steps:
- name: Install dependencies
run: |
sudo apt-get update -yqq
sudo apt-get install -yqq build-essential cmake ninja-build clang-10 \
libsdl1.2-dev asciidoctor w3m
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz (slim)
run: |
export CXX=clang++
export CXXFLAGS="-Wall -O2 -g -ffunction-sections -fdata-sections"
export LDFLAGS="-Wl,--gc-sections"
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build build
ls -l build/OpenJazz
- name: Prepare artifact
run: |
mkdir OJ-${SHORT_SHA}
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OJ-${SHORT_SHA}/Manual.txt
cp build/OpenJazz README.md COPYING licenses.txt OJ-${SHORT_SHA}/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-linux-glibc2.31-x86_64
path: OJ-*/
windows-mingw-gcc:
name: Build (Windows x86_64, MinGW, GCC)
runs-on: windows-2019
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
install: |
base-devel dos2unix w3m
pacboy: |
toolchain:p cmake:p ninja:p SDL:p asciidoctor:p
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz
run: |
export LDFLAGS="-static"
export PKG_CONFIG="pkg-config --static"
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build build
- name: Prepare artifact
run: |
cmake --install build --prefix $PWD
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc
w3m -dump -cols 2147483647 -s OpenJazzManual.html > dist/Manual.txt
cp README.md dist/README.txt
cp COPYING dist/COPYING.txt
cp licenses.txt dist/
unix2dos dist/*.txt
mv dist OJ-${SHORT_SHA}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-windows-mingw-x86_64
path: OJ-*/
wii-devkitppc:
name: Build (Wii, devkitPPC)
runs-on: ubuntu-latest
container: devkitpro/devkitppc:latest
steps:
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -yqq ninja-build dos2unix asciidoctor w3m
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz
run: |
export CXXFLAGS="-Wall -g -O2"
$DEVKITPRO/portlibs/wii/bin/powerpc-eabi-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build build
- name: Prepare artifact
run: |
cmake --install build --prefix $PWD
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt
cp README.md OpenJazz/README.txt
cp COPYING OpenJazz/COPYING.txt
cp licenses.txt OpenJazz/
unix2dos OpenJazz/*.txt
mv OpenJazz OJ-${SHORT_SHA}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-wii
path: OJ-*/
n3ds-devkitarm:
name: Build (3DS, devkitARM)
runs-on: ubuntu-latest
container: devkitpro/devkitarm:latest
steps:
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -yqq ninja-build dos2unix asciidoctor w3m
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz
run: |
export CXXFLAGS="-Wall -g -O2"
$DEVKITPRO/portlibs/3ds/bin/arm-none-eabi-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release
cmake --build build
- name: Prepare artifact
run: |
cmake --install build --prefix $PWD
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt
cp README.md OpenJazz/README.txt
cp COPYING OpenJazz/COPYING.txt
cp licenses.txt OpenJazz/
unix2dos OpenJazz/*.txt
mv OpenJazz OJ-${SHORT_SHA}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-3ds
path: OJ-*/
riscos-gccsdk:
name: Build (RISC OS, GCCSDK 4.7)
runs-on: ubuntu-latest
container: riscosdotinfo/riscos-gccsdk-4.7:latest
steps:
- name: Install dependencies
run: |
apt-get update -qq
apt-get install -yqq cmake ninja-build
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Prepare GCCSDK autobuilder and build SDL
run: |
cp /usr/bin/false /usr/bin/automake-1.11 # autobuilder wants this, sdl does not need it
cp /usr/bin/false /usr/bin/meson # autobuilder wants this, sdl does not need it
svn co svn://svn.riscos.info/gccsdk/trunk/autobuilder/ autobuilder # todo: maybe use snapshot
mkdir sdl-build
cd sdl-build
../autobuilder/build -v libsdl1.2debian # todo: cache?
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz
run: |
cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=/home/riscos/env/toolchain-riscos.cmake -DRISCOS=ON
cmake --build build
- name: Prepare artifact
run: |
cmake --install build --prefix $PWD
cp README.md COPYING licenses.txt !OpenJazz/
mkdir OJ-${SHORT_SHA}
mv !OpenJazz OJ-${SHORT_SHA}/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-riscos
path: OJ-*/
psp-pspdev:
name: Build (PSP, pspdev)
runs-on: ubuntu-latest
container: pspdev/pspdev:latest
steps:
- name: Install dependencies
run: |
apk add cmake ninja asciidoctor w3m
- name: Prepare Environment
run: |
echo "SHORT_SHA=${GITHUB_SHA:0:10}" >> $GITHUB_ENV
echo "MAKEFLAGS=-j$(nproc)" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v3
- name: Build OpenJazz
run: |
export CXXFLAGS="-Wall -g -O2"
psp-cmake -G Ninja -B build . -DCMAKE_BUILD_TYPE=Release -DNETWORK=OFF
cmake --build build
- name: Prepare artifact
run: |
cmake --install build --prefix $PWD
asciidoctor -o OpenJazzManual.html -a oj_version=${SHORT_SHA} res/unix/OpenJazz.6.adoc
w3m -dump -cols 2147483647 -s OpenJazzManual.html > OpenJazz/Manual.txt
cp README.md OpenJazz/README.txt
cp COPYING OpenJazz/COPYING.txt
cp licenses.txt OpenJazz/
unix2dos OpenJazz/*.txt
mv OpenJazz OJ-${SHORT_SHA}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: openjazz-psp
path: OJ-*/