1+ name : windows-builds
2+
3+ # Trigger on:
4+ # - Manual runs via GitHub UI (workflow_dispatch)
5+ # - Pushes that touch build-relevant files
6+ on :
7+ push :
8+ workflow_dispatch :
9+
10+ jobs :
11+ build_windows_msvc :
12+ name : Build with MSVC and CMake
13+ runs-on : windows-2022
14+
15+ env :
16+ QT_VERSION : 6.4.2
17+ QT_DIR : ${{ github.workspace }}\Qt
18+
19+ steps :
20+ - name : 📦 Checkout source code
21+ uses : actions/checkout@v4
22+ with :
23+ fetch-depth : 0 # Full history for tags/versions if needed
24+
25+ - name : ⚙️ Install Ninja build system
26+ run : choco install ninja --no-progress
27+ shell : powershell
28+
29+ - name : 📥 Install Qt for MSVC
30+ uses : jurplel/install-qt-action@v3
31+ with :
32+ version : ${{ env.QT_VERSION }}
33+ target : desktop
34+ host : windows
35+ arch : win64_msvc2019_64
36+ dir : ${{ env.QT_DIR }}
37+ setup-python : false
38+
39+ - name : 🛠️ Configure CMake (MSVC)
40+ run : |
41+ cmake -S . -B build `
42+ -DCMAKE_PREFIX_PATH="${{ env.QT_DIR }}\Qt\${{ env.QT_VERSION }}\msvc2019_64" `
43+ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install `
44+ -DCMAKE_BUILD_TYPE=Release `
45+ -G Ninja
46+ shell : powershell
47+
48+ - name : 🔨 Build with CMake (MSVC)
49+ run : cmake --build build
50+ shell : powershell
51+
52+ - name : 📦 Install built files (MSVC)
53+ run : cmake --install build
54+ shell : powershell
55+
56+ build_windows_mingw :
57+ name : Build with MinGW and CMake
58+ runs-on : windows-2022
59+
60+ env :
61+ QT_VERSION : 6.4.2
62+ QT_DIR : ${{ github.workspace }}\Qt
63+
64+ steps :
65+ - name : 📦 Checkout source code
66+ uses : actions/checkout@v4
67+ with :
68+ fetch-depth : 0
69+
70+ - name : ⚙️ Install Ninja and MinGW toolchain
71+ run : |
72+ choco install ninja --no-progress
73+ choco install mingw --no-progress
74+ shell : powershell
75+
76+ - name : ➕ Add MinGW to system PATH
77+ run : echo "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin" >> $env:GITHUB_PATH
78+ shell : powershell
79+
80+ - name : 📥 Install Qt for MinGW
81+ uses : jurplel/install-qt-action@v3
82+ with :
83+ version : ${{ env.QT_VERSION }}
84+ target : desktop
85+ host : windows
86+ arch : mingw_64
87+ dir : ${{ env.QT_DIR }}
88+ setup-python : false
89+
90+ - name : 🛠️ Configure CMake (MinGW)
91+ run : |
92+ cmake -S . -B build-mingw `
93+ -DCMAKE_PREFIX_PATH="${{ env.QT_DIR }}\Qt\${{ env.QT_VERSION }}\mingw_64" `
94+ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install `
95+ -DCMAKE_BUILD_TYPE=Release `
96+ -G Ninja
97+ shell : powershell
98+
99+ - name : 🔨 Build with CMake (MinGW)
100+ run : cmake --build build-mingw
101+ shell : powershell
102+
103+ - name : 📦 Install built files (MinGW)
104+ run : cmake --install build-mingw
105+ shell : powershell
0 commit comments