Files
RedBear-OS/local/recipes/libs/lcms2/source/.github/workflows/build.yml
T
vasilito d551d5dc41 feat: add display stack dependency recipes
Add lcms2, libdisplay-info, libepoxy, and libxcvt recipes required
by the KWin/Mesa display stack.
2026-05-11 10:10:11 +01:00

241 lines
5.6 KiB
YAML

name: Build
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.job }}-${{ github.ref }}
cancel-in-progress: true
permissions: read-all
jobs:
Ubuntu:
strategy:
matrix:
runner: [ ubuntu-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6.0.2
- name: Build Ubuntu
run: |
./configure --with-fastfloat --with-threaded
make
make check
macOS:
strategy:
matrix:
runner: [ macos-14, macos-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6.0.2
- name: Build macOS
run: |
./configure --with-fastfloat --with-threaded
make
make check
Windows:
strategy:
matrix:
include:
- arch: win32
runner: windows-latest
- arch: x64
runner: windows-latest
# - arch: arm64
# runner: windows-11-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6.0.2
- name: Setup MSVC Build Environment
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Build Windows
run: devenv .\Projects\VC2019\lcms2.sln /Rebuild "Release|${{ matrix.arch }}" /Project testbed
- name: Run tests
run: testbed\testbed.exe --chdir testbed
Ubuntu-meson:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6.0.2
- name: Install packages
run: |
sudo apt-get -y install build-essential python3-pip ninja-build
pip install meson==0.52.0
- name: Build Ubuntu
run: |
meson setup build -Dfastfloat=true -Dthreaded=true
cd build
ninja
meson test
VisualStudio-meson:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6.0.2
- name: Install packages
run: |
pip install meson==0.52.0
- uses: ilammy/msvc-dev-cmd@v1
- name: Build Windows
run: |
meson setup build
cd build
ninja
meson test
Ubuntu-cmake:
strategy:
matrix:
runner: [ ubuntu-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6.0.2
- name: Install packages
run: sudo apt-get -y install build-essential cmake ninja-build
- name: Configure
run: |
cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLCMS2_WITH_FASTFLOAT=ON \
-DLCMS2_WITH_THREADS=ON \
-DLCMS2_BUILD_TESTS=ON
- name: Build
run: cmake --build build --parallel
- name: Run tests
run: ctest --test-dir build --output-on-failure
macOS-cmake:
strategy:
matrix:
runner: [ macos-14, macos-latest ]
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v6.0.2
- name: Configure
run: |
cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLCMS2_WITH_FASTFLOAT=ON \
-DLCMS2_WITH_THREADS=ON \
-DLCMS2_BUILD_TESTS=ON
- name: Build
run: cmake --build build --parallel
- name: Run tests
run: ctest --test-dir build --output-on-failure
Windows-cmake:
strategy:
matrix:
include:
- arch: Win32
runner: windows-latest
- arch: x64
runner: windows-latest
# - arch: ARM64
# runner: windows-11-arm
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6.0.2
- name: Configure
run: |
cmake -B build -A ${{ matrix.arch }} `
-DLCMS2_WITH_FASTFLOAT=ON `
-DLCMS2_WITH_THREADS=ON `
-DLCMS2_BUILD_TESTS=ON
- name: Build
run: cmake --build build --config Release --parallel
- name: Run tests
run: ctest --test-dir build -C Release --output-on-failure
MSYS2-cmake:
strategy:
matrix:
sys: [ MINGW64, UCRT64 ]
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v6.0.2
- uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
update: true
pacboy: cmake:p gcc:p ninja:p
- name: Configure
run: |
cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLCMS2_WITH_FASTFLOAT=ON \
-DLCMS2_WITH_THREADS=ON \
-DLCMS2_BUILD_TESTS=ON
- name: Build
run: cmake --build build --parallel
- name: Run tests
run: ctest --test-dir build --output-on-failure
Cygwin-cmake:
runs-on: windows-latest
env:
CHERE_INVOKING: "1"
defaults:
run:
shell: C:\cygwin64\bin\bash.exe --login -eo pipefail -o igncr '{0}'
steps:
- uses: actions/checkout@v6.0.2
- uses: cygwin/cygwin-install-action@v6
with:
install-dir: 'C:\cygwin64'
packages: cmake ninja gcc-core gcc-g++
- name: Configure
run: |
cmake -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLCMS2_WITH_FASTFLOAT=ON \
-DLCMS2_WITH_THREADS=ON \
-DLCMS2_BUILD_TESTS=ON
- name: Build
run: cmake --build build --parallel
- name: Run tests
run: ctest --test-dir build --output-on-failure