1- name : Build VectorJS
1+ name : Build
22
33on :
44 push :
77 branches : [ "main", "master" ]
88
99jobs :
10- build-linux :
11- name : Build on Ubuntu Linux
10+ build-ubuntu :
11+ name : Build on Ubuntu
1212 runs-on : ubuntu-latest
1313 steps :
1414 - name : Checkout repository
1515 uses : actions/checkout@v6
16- - name : Install Linux Dependencies
16+ - name : Install ubuntu Dependencies
1717 run : |
1818 sudo apt-get update
19- sudo apt-get install -y build-essential cmake g++-13 libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev
19+ sudo apt-get install -y build-essential cmake g++-14 libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev
20+ - name : Setup Compiler Cache
21+ uses : hendrikmuhs/ccache-action@v1.2
22+ with :
23+ key : ubuntu-ccache-${{ github.ref_name }}
24+ restore-keys : |
25+ ubuntu-ccache-
26+ max-size : 500M
2027 - name : Configure CMake
21- env :
22- CXX : g++-13
2328 run : >
24- cmake -B ${{ github.workspace }}/build
25- -DCMAKE_BUILD_TYPE=Release
26- -DCMAKE_CXX_STANDARD=23
29+ cmake -B ${{ github.workspace }}/build -S .
30+ -DCMAKE_BUILD_TYPE=Release
31+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
32+ -DCMAKE_C_COMPILER_LAUNCHER=ccache
33+ env :
34+ CXX : g++-14
2735 - name : Build Target
28- run : cmake --build ${{ github.workspace }}/ build --config Release
36+ run : cmake --build build --config Release
2937 - name : Verify Executable Production
30- run : ls -l ${{ github.workspace }}/ build/vectorjs
38+ run : ls -l build/vectorjs
3139
3240 build-windows :
3341 name : Build on Windows
3442 runs-on : windows-latest
3543 steps :
3644 - name : Checkout repository
3745 uses : actions/checkout@v6
46+ - name : Setup Compiler Cache
47+ uses : hendrikmuhs/ccache-action@v1.2
48+ with :
49+ key : win-ccache-${{ github.ref_name }}
50+ restore-keys : |
51+ win-ccache-
52+ max-size : 500M
3853 - name : Configure CMake
3954 run : >
40- cmake -B ${{ github.workspace }}/build
41- -DCMAKE_BUILD_TYPE=Release
42- -DCMAKE_CXX_STANDARD=23
43- - name : Build Target
44- run : cmake --build ${{ github.workspace }}/build --config Release
55+ cmake -B ${{ github.workspace }}/build -S .
56+ -DCMAKE_BUILD_TYPE=Release
57+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
58+ -DCMAKE_C_COMPILER_LAUNCHER=ccache
4559 - name : Verify Executable Production
4660 shell : pwsh
47- run : Test-Path "${{ github.workspace }}/ build/Release/vectorjs.exe"
61+ run : Test-Path "build/Release/vectorjs.exe"
4862
4963 build-mac :
5064 name : Build on macOS
5165 runs-on : macos-latest
5266 steps :
5367 - name : Checkout repository
5468 uses : actions/checkout@v6
69+ - name : Setup Compiler Cache
70+ uses : hendrikmuhs/ccache-action@v1.2
71+ with :
72+ key : mac-ccache-${{ github.ref_name }}
73+ restore-keys : |
74+ mac-ccache-
75+ max-size : 500M
5576 - name : Configure CMake
5677 run : >
57- cmake -B ${{ github.workspace }}/build
58- -DCMAKE_BUILD_TYPE=Release
59- -DCMAKE_CXX_STANDARD=23
60- - name : Build Target
61- run : cmake --build ${{ github.workspace }}/build --config Release
78+ cmake -B ${{ github.workspace }}/build -S .
79+ -DCMAKE_BUILD_TYPE=Release
80+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
81+ -DCMAKE_C_COMPILER_LAUNCHER=ccache
6282 - name : Verify Executable Production
63- run : ls -l ${{ github.workspace }}/ build/vectorjs
83+ run : ls -l build/vectorjs
0 commit comments