pipeline {
    agent none

    stages {
        stage('Build Linux') {
            agent { label 'linux' }
            steps {
                cleanWs()
                checkout scm

                sh '''
                    cmake -S . -B build/linux -G Ninja -DCMAKE_BUILD_TYPE=Release
                    cmake --build build/linux
                    archiveArtifacts artifacts: 'build/linux/test_app', fingerprint: true
                '''
            }
        }

stage('Build Windows') {
    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

            cmake --build build\\windows
            archiveArtifacts artifacts: 'build/windows/test_app.exe', fingerprint: true
        '''
    }
}
}
}