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
3030 - cc : clang-18
3131 cxx : clang++-18
3232 clang_major_version : 18
33- clang_repo_suffix :
33+ clang_repo_suffix : ' '
3434 runs-on : ubuntu-22.04
3535 steps :
3636 - name : Add Clang/LLVM repositories
@@ -39,14 +39,17 @@ jobs:
3939 set -x
4040 source /etc/os-release
4141 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"
42+ sudo add-apt-repository "deb https ://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main"
4343
4444 - name : Install build dependencies
4545 run : |-
4646 sudo apt-get update
4747 sudo apt-get install --yes --no-install-recommends \
4848 cmake \
49- libprojectm-dev \
49+ ninja-build \
50+ build-essential \
51+ libgl1-mesa-dev \
52+ mesa-common-dev \
5053 libvisual-0.4-dev \
5154 pkg-config
5255
@@ -56,24 +59,49 @@ jobs:
5659 sudo apt-get install --yes --no-install-recommends -V \
5760 clang-${{ matrix.clang_major_version }}
5861
62+ - name : Checkout libprojectM Sources
63+ uses : actions/checkout@v4
64+ with :
65+ repository : projectM-visualizer/projectm
66+ path : libprojectM
67+ submodules : recursive
68+
69+ - name : Build/Install libprojectM
70+ run : |
71+ mkdir cmake-build-libprojectM
72+ cmake -G Ninja -S libprojectM -B "${{ github.workspace }}/cmake-build-libprojectM" \
73+ -DCMAKE_C_COMPILER="${{ matrix.cc }}" \
74+ -DCMAKE_CXX_COMPILER="${{ matrix.cxx }}" \
75+ -DBUILD_SHARED_LIBS=ON \
76+ -DCMAKE_BUILD_TYPE=Release \
77+ -DCMAKE_VERBOSE_MAKEFILE=ON \
78+ -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install-libprojectM"
79+ cmake --build "${{ github.workspace }}/cmake-build-libprojectM" --parallel
80+ cmake --install "${{ github.workspace }}/cmake-build-libprojectM"
81+
5982 - name : Checkout Git branch
6083 uses : actions/checkout@v4
84+ with :
85+ path : libvisual-projectm
6186
6287 - name : ' Configure with CMake'
6388 run : |-
6489 cmake_args=(
6590 -DCMAKE_C_COMPILER="${{ matrix.cc }}"
6691 -DCMAKE_CXX_COMPILER="${{ matrix.cxx }}"
67- -S ./
68- -B build/
92+ -DCMAKE_BUILD_TYPE=Release
93+ -DCMAKE_PREFIX_PATH="${{ github.workspace }}/install-libprojectM"
94+ -DCMAKE_VERBOSE_MAKEFILE=ON
95+ -S "${{ github.workspace }}/libvisual-projectm"
96+ -B "${{ github.workspace }}/cmake-build-libvisual-projectm"
6997 )
7098 set -x
7199 cmake "${cmake_args[@]}"
72100
73101 - name : ' Build'
74102 run : |-
75103 set -x
76- make -C build -j$(nproc) VERBOSE=1
104+ cmake -- build "${{ github.workspace }}/cmake-build-libvisual-projectm" --parallel
77105
78106 - name : ' Install'
79107 run : |-
0 commit comments