Updated windows-cmake.yml #4
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: windows-builds | |
| # Trigger on push to any branch and manual runs | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| build_windows_msvc: | |
| name: Build with MSVC and Ninja | |
| runs-on: windows-2022 | |
| env: | |
| QT_VERSION: 6.4.2 | |
| QT_DIR: ${{ github.workspace }}\Qt | |
| steps: | |
| - name: π¦ Checkout source code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 # Fetch full history for tags if needed | |
| - name: βοΈ Install Ninja build system | |
| run: choco install ninja --no-progress | |
| shell: powershell | |
| - name: π₯ Install Qt for MSVC | |
| uses: jurplel/install-qt-action@v3 | |
| with: | |
| version: ${{ env.QT_VERSION }} | |
| target: desktop | |
| host: windows | |
| arch: win64_msvc2019_64 | |
| dir: ${{ env.QT_DIR }} | |
| setup-python: false | |
| - name: π οΈ Configure CMake (Ninja + MSVC) | |
| shell: pwsh | |
| run: | | |
| # Initialize MSVC environment variables for 64-bit architecture | |
| & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 | |
| # Run cmake with Ninja generator and MSVC toolchain | |
| cmake -S . -B build -G Ninja -A x64 ` | |
| -DCMAKE_PREFIX_PATH="${{ env.QT_DIR }}\Qt\${{ env.QT_VERSION }}\msvc2019_64" ` | |
| -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}\install" ` | |
| -DCMAKE_BUILD_TYPE=Release | |
| - name: π¨ Build with Ninja + MSVC | |
| shell: pwsh | |
| run: | | |
| # Initialize MSVC environment again for build step | |
| & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 | |
| cmake --build build | |
| - name: π¦ Install built files | |
| shell: pwsh | |
| run: | | |
| # Initialize MSVC environment again for install step | |
| & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 | |
| cmake --install build | |
| build_windows_mingw: | |
| name: Build with MinGW and CMake | |
| runs-on: windows-2022 | |
| env: | |
| QT_VERSION: 6.4.2 | |
| QT_DIR: ${{ github.workspace }}\Qt | |
| steps: | |
| - name: π¦ Checkout source code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: βοΈ Install Ninja and MinGW toolchain | |
| run: | | |
| choco install ninja --no-progress | |
| choco install mingw --no-progress | |
| shell: powershell | |
| - name: β Add MinGW to system PATH | |
| run: echo "C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin" >> $env:GITHUB_PATH | |
| shell: powershell | |
| - name: π₯ Install Qt for MinGW | |
| uses: jurplel/install-qt-action@v3 | |
| with: | |
| version: ${{ env.QT_VERSION }} | |
| target: desktop | |
| host: windows | |
| arch: mingw_64 | |
| dir: ${{ env.QT_DIR }} | |
| setup-python: false | |
| - name: π οΈ Configure CMake (MinGW) | |
| shell: powershell | |
| run: | | |
| cmake -S . -B build-mingw ` | |
| -DCMAKE_PREFIX_PATH="${{ env.QT_DIR }}\Qt\${{ env.QT_VERSION }}\mingw_64" ` | |
| -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\install ` | |
| -DCMAKE_BUILD_TYPE=Release ` | |
| -G Ninja | |
| - name: π¨ Build with CMake (MinGW) | |
| shell: powershell | |
| run: cmake --build build-mingw | |
| - name: π¦ Install built files (MinGW) | |
| shell: powershell | |
| run: cmake --install build-mingw |