pipeline {
    agent none

    stages {
        stage('Build Windows Qt') {
            agent { label 'windows' }
            steps {
                cleanWs()
                checkout scm

                bat '''
                    call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Auxiliary\\Build\\vcvars64.bat"

                    cmake -S . -B build\\windows -G Ninja ^
                      -DCMAKE_BUILD_TYPE=Release ^
                      -DCMAKE_TOOLCHAIN_FILE=C:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake ^
                      -DVCPKG_TARGET_TRIPLET=x64-windows

                    cmake --build build\\windows

                    if exist dist\\windows rmdir /s /q dist\\windows
                    mkdir dist\\windows

                    copy build\\windows\\test_app.exe dist\\windows\\test_app.exe

                    C:\\vcpkg\\installed\\x64-windows\\tools\\Qt6\\bin\\windeployqt.exe ^
                      --release ^
                      --no-translations ^
                      dist\\windows\\test_app.exe
                '''

                archiveArtifacts artifacts: 'dist/windows/**', fingerprint: true
            }
        }
    }
}