fix qwindowkit with Qt 6.8.1 #313
This file contains hidden or 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: 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 |