1919 include :
2020 - cc : gcc-12
2121 cxx : g++-12
22- clang_major_version : null
23- clang_repo_suffix : null
22+ clang_major_version : ' '
23+ clang_repo_suffix : ' '
2424 runs-on : ubuntu-22.04
2525 - cc : clang-17
2626 cxx : clang++-17
@@ -30,23 +30,41 @@ jobs:
3030 - cc : clang-18
3131 cxx : clang++-18
3232 clang_major_version : 18
33- clang_repo_suffix :
33+ clang_repo_suffix : -18
3434 runs-on : ubuntu-22.04
35+ - cc : gcc-14
36+ cxx : g++-14
37+ clang_major_version : ' '
38+ clang_repo_suffix : ' '
39+ runs-on : ubuntu-24.04
40+ - cc : clang-20
41+ cxx : clang++-20
42+ clang_major_version : 20
43+ clang_repo_suffix : -20
44+ runs-on : ubuntu-24.04
45+ - cc : clang-21
46+ cxx : clang++-21
47+ clang_major_version : 21
48+ clang_repo_suffix : -21
49+ runs-on : ubuntu-24.04
3550 steps :
3651 - name : Add Clang/LLVM repositories
3752 if : " ${{ contains(matrix.cxx, 'clang') }}"
3853 run : |-
3954 set -x
4055 source /etc/os-release
4156 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
42- sudo add-apt-repository "deb http ://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main"
57+ sudo add-apt-repository "deb https ://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main"
4358
4459 - name : Install build dependencies
4560 run : |-
4661 sudo apt-get update
4762 sudo apt-get install --yes --no-install-recommends \
4863 cmake \
49- libprojectm-dev \
64+ ninja-build \
65+ build-essential \
66+ libgl1-mesa-dev \
67+ mesa-common-dev \
5068 libvisual-0.4-dev \
5169 pkg-config
5270
@@ -56,27 +74,53 @@ jobs:
5674 sudo apt-get install --yes --no-install-recommends -V \
5775 clang-${{ matrix.clang_major_version }}
5876
77+ - name : Checkout libprojectM Sources
78+ uses : actions/checkout@v4
79+ with :
80+ repository : projectM-visualizer/projectm
81+ path : libprojectM
82+ submodules : recursive
83+
84+ - name : Build/Install libprojectM
85+ run : |
86+ mkdir cmake-build-libprojectM
87+ cmake -G Ninja -S libprojectM -B "${{ github.workspace }}/cmake-build-libprojectM" \
88+ -DCMAKE_C_COMPILER="${{ matrix.cc }}" \
89+ -DCMAKE_CXX_COMPILER="${{ matrix.cxx }}" \
90+ -DBUILD_SHARED_LIBS=ON \
91+ -DCMAKE_BUILD_TYPE=Release \
92+ -DCMAKE_VERBOSE_MAKEFILE=ON \
93+ -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install-libprojectM"
94+ cmake --build "${{ github.workspace }}/cmake-build-libprojectM" --parallel
95+ cmake --install "${{ github.workspace }}/cmake-build-libprojectM"
96+
5997 - name : Checkout Git branch
6098 uses : actions/checkout@v4
99+ with :
100+ path : libvisual-projectm
61101
62102 - name : ' Configure with CMake'
63103 run : |-
64104 cmake_args=(
65105 -DCMAKE_C_COMPILER="${{ matrix.cc }}"
66106 -DCMAKE_CXX_COMPILER="${{ matrix.cxx }}"
67- -S ./
68- -B build/
107+ -DCMAKE_BUILD_TYPE=Release
108+ -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install-libprojectM"
109+ -DCMAKE_VERBOSE_MAKEFILE=ON
110+ -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/ROOT/"
111+ -S "${{ github.workspace }}/libvisual-projectm"
112+ -B "${{ github.workspace }}/cmake-build-libvisual-projectm"
69113 )
70114 set -x
71115 cmake "${cmake_args[@]}"
72116
73117 - name : ' Build'
74118 run : |-
75119 set -x
76- make -C build -j$(nproc) VERBOSE=1
120+ cmake -- build "${{ github.workspace }}/cmake-build-libvisual-projectm" --parallel
77121
78122 - name : ' Install'
79123 run : |-
80124 set -x -o pipefail
81- make -C build install DESTDIR= "${PWD}"/ROOT/
82- find ROOT/ | sort | xargs ls -ld
125+ cmake -- build "${{ github.workspace }}/cmake-build-libvisual-projectm"
126+ find "${{ github.workspace }}/ ROOT/" | sort | xargs ls -ld
0 commit comments