Skip to content

Commit c8171d9

Browse files
committed
Build libprojectM-4 separately in workflow
1 parent 5e3dada commit c8171d9

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

.github/workflows/linux.yml

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ jobs:
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,7 +30,7 @@ jobs:
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

Comments
 (0)