Skip to content

fix qwindowkit with Qt 6.8.1 #313

fix qwindowkit with Qt 6.8.1

fix qwindowkit with Qt 6.8.1 #313

Workflow file for this run

name: Build
on: [push]
jobs:
build-windows:
name: Build Windows Qt6
env:
qt-major-version: 6
qt-version: 6.8.1
clang-version: 18
zipfile: PotatoAlert.zip
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Visual Studio Shell
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Setup Conan
run: |
pip install conan
conan profile detect
- name: Setup Ninja
uses: seanmiddleditch/gha-setup-ninja@v5
with:
version: 1.12.1
- name: Install Qt${{ env.qt-major-version }}
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.qt-version }}
cache: true
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: ${{ env.clang-version }}
- name: Conan Version
run: conan --version
- name: CMake Version
run: cmake --version
- name: Clang Version
run: clang-cl --version
- name: Ninja Version
run: ninja --version
- name: Cache Conan Dependencies
uses: actions/cache@v4
with:
path: ~/.conan2
key: hashFiles('**/conanfile.py')
- name: Run Conan
run: conan install . --build=missing --profile:all=./.github/conan/profiles/windows-clang-cl
- name: Run CMake
env:
CC: "${{ env.LLVM_PATH }}\\bin\\clang-cl"
CXX: "${{ env.LLVM_PATH }}\\bin\\clang-cl"
run: cmake --preset conan-clang-release -DPA_SUBMIT_URL=${{ secrets.PA_SUBMIT_URL }} -DPA_LOOKUP_URL=${{ secrets.PA_LOOKUP_URL }}
- name: Run Build
run: cmake --build --preset conan-clang-release
- name: Run CTest
working-directory: ${{env.GITHUB_WORKSPACE}}/build/clang/Release
env:
CTEST_OUTPUT_ON_FAILURE: 1
run: ctest
- name: Create Release Archive
run: |
7z a -mx9 -r ${{ env.zipfile }} .\build\clang\Release\bin\*
- name: Create Installer
working-directory: ${{env.GITHUB_WORKSPACE}}/build/clang/Release
run: cpack
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.zipfile }}
path: ${{ env.zipfile }}
- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: |
${{ env.zipfile }}
build/clang/Release/PotatoAlert-*.msi
build-linux:
name: Build Linux Qt6
env:
qt-version: 6.8.1
gcc-version: 14
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Conan
run: |
pip install conan
conan profile detect
- name: Setup Ninja
run: sudo apt install -y ninja-build
- name: Install Dependencies
run: >
sudo apt install -y
libfontconfig1-dev
libfreetype6-dev
libx11-dev
libx11-xcb-dev
libxext-dev
libxfixes-dev
libxi-dev
libxrender-dev
libxcb1-dev
libxcb-cursor-dev
libxcb-glx0-dev
libxcb-keysyms1-dev
libxcb-image0-dev
libxcb-shm0-dev
libxcb-icccm4-dev
libxcb-sync-dev
libxcb-xfixes0-dev
libxcb-shape0-dev
libxcb-randr0-dev
libxcb-render-util0-dev
libxcb-util-dev
libxcb-xinerama0-dev
libxcb-xkb-dev
libxkbcommon-dev
libxkbcommon-x11-dev
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.qt-version }}
cache: true
- name: Conan Version
run: conan --version
- name: CMake Version
run: cmake --version
- name: GCC Version
run: g++-${{ env.gcc-version }} --version
- name: Ninja Version
run: ninja --version
- name: Cache Conan Dependencies
uses: actions/cache@v4
with:
path: ~/.conan2
key: hashFiles('**/conanfile.py')
- name: Run Conan
run: conan install . --build=missing --profile:all=./.github/conan/profiles/linux-gcc
- name: Run CMake
env:
CC: gcc-${{ env.gcc-version }}
CXX: g++-${{ env.gcc-version }}
run: cmake --preset conan-gcc-release -DPA_SUBMIT_URL=${{ secrets.PA_SUBMIT_URL }} -DPA_LOOKUP_URL=${{ secrets.PA_LOOKUP_URL }}
- name: Run Build
run: cmake --build --preset conan-gcc-release
- name: Run CTest
working-directory: build/gcc/Release
env:
CTEST_OUTPUT_ON_FAILURE: 1
run: ctest
- name: Create Release Archive
run: |
7z a -mx9 -r PotatoAlert_linux.zip ./build/gcc/Release/bin/*
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: PotatoAlert_linux.zip
path: PotatoAlert_linux.zip
- name: Create Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
files: PotatoAlert_linux.zip