84 lines
3.0 KiB
YAML
84 lines
3.0 KiB
YAML
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
|
|
|
|
name: Examples and installed headers
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- 2.2
|
|
paths-ignore:
|
|
- .github/workflows/create_release.yml
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- 2.2
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
os:
|
|
- ubuntu-22.04
|
|
- windows-2022
|
|
- macos-13
|
|
preset:
|
|
- release
|
|
- ci-release-static-qt5
|
|
steps:
|
|
- name: Install Qt 5.15 with options and default aqtversion
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: 5.15
|
|
cache: true
|
|
|
|
- name: Make sure MSVC is found when Ninja generator is in use
|
|
if: ${{ runner.os == 'Windows' }}
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
- name: Install lld linker
|
|
if: ${{ runner.os == 'Linux' }}
|
|
run: |
|
|
sudo apt update -qq
|
|
sudo apt install lld -y
|
|
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install ninja
|
|
uses: turtlesec-no/get-ninja@main
|
|
|
|
- name: Configure
|
|
run: cmake --preset=${{ matrix.preset }} -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/installed/ -DKDDockWidgets_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Debug
|
|
|
|
- name: Build
|
|
run: cmake --build build-${{ matrix.preset }} --parallel
|
|
|
|
- name: Install
|
|
run: cmake --install build-${{ matrix.preset }}
|
|
|
|
- name: Build examples
|
|
run: |
|
|
cd examples
|
|
cmake -G Ninja -S dockwidgets/ -B dockwidgets/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S mdi/ -B mdi/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S minimal/ -B minimal/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S mdi_with_docking/ -B mdi_with_docking/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S qtquick/dockwidgets/ -B qtquick/dockwidgets/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S qtquick/customseparator/ -B qtquick/customseparator/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S qtquick/customtabbar/ -B qtquick/customtabbar/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S qtquick/customtitlebar/ -B qtquick/customtitlebar/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake -G Ninja -S qtquick/mdi/ -B qtquick/mdi/b -DCMAKE_PREFIX_PATH=${{ github.workspace }}/installed/
|
|
cmake --build dockwidgets/b
|
|
cmake --build mdi/b
|
|
cmake --build minimal/b
|
|
cmake --build mdi_with_docking/b
|
|
cmake --build qtquick/dockwidgets/b
|
|
cmake --build qtquick/customseparator/b
|
|
cmake --build qtquick/customtabbar/b
|
|
cmake --build qtquick/mdi/b
|