88
99jobs :
1010 build-and-test :
11- # Give the job a descriptive name that includes the OS
1211 name : Build on ${{ matrix.os }}
13-
1412 strategy :
15- # Run a job for each OS in this list
1613 matrix :
1714 os : [ubuntu-latest, windows-latest, macos-latest]
1815
@@ -23,17 +20,19 @@ jobs:
2320 uses : actions/checkout@v4
2421
2522 - name : Install dependencies (Linux only)
26- # This step only runs on the Linux runner
2723 if : runner.os == 'Linux'
28- run : sudo apt-get update && sudo apt-get install -y libx11-dev
24+ # FIX: Added libgl-dev, which provides the GL/gl.h header.
25+ run : sudo apt-get update && sudo apt-get install -y libgl-dev libx11-dev
2926
3027 - name : Configure CMake
31- # Creates a 'build' directory and prepares the build system
32- run : cmake -B build -S .
28+ # FIX: For Windows, explicitly specify the 64-bit architecture (-A x64).
29+ # This resolves the MSB8013 error.
30+ run : |
31+ if [ "$RUNNER_OS" == "Windows" ]; then
32+ cmake -B build -S . -A x64
33+ else
34+ cmake -B build -S .
35+ fi
3336
3437 - name : Build with CMake
35- # This command builds ALL targets defined in CMakeLists.txt:
36- # 1. The 'glatter' library
37- # 2. The 'glatter-test' executable
38- # If either fails to build or link, this step will fail, failing the job.
39- run : cmake --build build --config Release```
38+ run : cmake --build build --config Release
0 commit comments