💥 Qt6 support #494
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 👷 Continuous Deployment | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
types: [opened, synchronize, unlabeled] | |
workflow_dispatch: | |
jobs: | |
BuildQt6: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
qt-version: ['6.6.2'] | |
enable_icons: ['ON', 'OFF'] | |
build_shared: ['ON', 'OFF'] | |
steps: | |
- | |
uses: actions/checkout@v4 | |
- | |
name: ⬇ Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: ${{ matrix.qt-version }} | |
cache: true | |
modules: 'qt5compat qtshadertools' | |
- | |
name: Enable ninja on ubuntu | |
if: contains(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get install ninja-build | |
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV | |
- | |
name: Enable ninja on macOS | |
if: contains(matrix.os, 'macOS') | |
run: | | |
brew install ninja | |
echo "CMAKE_GENERATOR=Ninja" >> $GITHUB_ENV | |
- | |
name: 🔧 CMake | |
run: | | |
cmake --version | |
cmake -E make_directory build | |
cmake \ | |
-DQATERIAL_ENABLE_TESTS=ON \ | |
-DQATERIAL_ENABLE_ICONS=${{ matrix.enable_icons }} \ | |
-DBUILD_SHARED_LIBS=${{ matrix.build_shared }} \ | |
-DCMAKE_BUILD_TYPE="Release" \ | |
-DCPM_SOURCE_CACHE=.cpm \ | |
-B build \ | |
-S . | |
shell: bash | |
- | |
name: 🔨 Qaterial | |
run: cmake --build build --target "Qaterial" --config "Release" -j | |
- | |
name: 🔨 QaterialTestLoader | |
run: cmake --build build --target "QaterialTestLoader" --config "Release" -j | |
- | |
name: ✅ Unit Tests | |
run: cd build && ctest --build-config "Release" --progress --verbose --parallel 12 | |
if: "!contains(matrix.os, 'ubuntu')" | |
- | |
name: ✅ Unit Tests | |
run: | | |
sudo apt install libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-xinerama0 libxcb-keysyms1 libxcb1 libxcb-render-util0 libxcb-randr0 | |
cd build | |
xvfb-run ctest --build-config "Release" --progress --verbose --parallel 12 | |
if: contains(matrix.os, 'ubuntu') | |
- | |
name: 🚀 Install Qaterial | |
run: cmake --install build --prefix install | |
if: contains(matrix.build_shared, 'ON') | |
- | |
name: ✅ Test install work with find_package | |
run: | | |
cmake -E make_directory tests/FindPackageTest/build | |
cmake \ | |
-DCMAKE_BUILD_TYPE="Release" \ | |
-DCMAKE_INSTALL_PREFIX=install \ | |
-B tests/FindPackageTest/build \ | |
-S tests/FindPackageTest | |
cmake \ | |
--build tests/FindPackageTest/build \ | |
--target "QaterialFindPackageTest" \ | |
--config "Release" \ | |
-j | |
shell: bash | |
if: contains(matrix.build_shared, 'ON') |