Skip to content

Commit 789d0fa

Browse files
Merge 'calf/master' into 'veal/ladspa'
2 parents 0162621 + 6d6ad78 commit 789d0fa

File tree

89 files changed

+4372
-150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+4372
-150
lines changed

.github/workflows/build.yml

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
---
2+
name: build
3+
'on': [push, pull_request]
4+
concurrency:
5+
group: ${{ github.workflow }}-${{ github.ref }}
6+
cancel-in-progress: true
7+
jobs:
8+
linux-gcc:
9+
name: linux-gcc
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Update
13+
run: sudo apt-get --yes update
14+
- name: Install dependencies
15+
run: sudo apt-get --yes install fluidsynth libfluidsynth-dev sordi gtk+2.0 libgtk2.0-dev libcairo2 lv2-dev
16+
- name: Check out
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
- name: Configure
21+
run: |
22+
mkdir build && cd build
23+
cmake -DCMAKE_INSTALL_PREFIX=../install-dir -DCMAKE_BUILD_TYPE=Release ..
24+
- name: Build
25+
run: cmake --build build
26+
- name: Package
27+
run: |
28+
cd build
29+
cpack -G TGZ --config CPackSourceConfig.cmake
30+
- name: Upload artifacts
31+
uses: actions/upload-artifact@v4
32+
with:
33+
name: linux
34+
path: build/calf-*gz
35+
linux-clang-with-lld:
36+
name: linux-clang-with-lld # clang with LLVM's linker LLD
37+
runs-on: ubuntu-latest
38+
steps:
39+
- name: Update
40+
run: sudo apt-get --yes update
41+
- name: Install dependencies
42+
run: sudo apt-get --yes install fluidsynth libfluidsynth-dev sordi gtk+2.0 libgtk2.0-dev libcairo2 lv2-dev
43+
- name: Check out
44+
uses: actions/checkout@v4
45+
with:
46+
fetch-depth: 0
47+
- name: Configure
48+
run: >
49+
mkdir build && cd build &&
50+
cmake ..
51+
-DCMAKE_INSTALL_PREFIX=../install-dir
52+
-DCMAKE_C_COMPILER=clang
53+
-DCMAKE_CXX_COMPILER=clang++
54+
-DCMAKE_C_FLAGS="-fuse-ld=lld"
55+
-DCMAKE_CXX_FLAGS="-fuse-ld=lld"
56+
- name: Build
57+
run: cmake --build build
58+
macos:
59+
name: macos
60+
runs-on: macos-13
61+
steps:
62+
- name: Install python3
63+
run: brew install --overwrite [email protected]
64+
- name: Install dependencies
65+
run: brew install automake fluid-synth gtk+ lv2 gtk-mac-integration expat
66+
- name: Check out
67+
uses: actions/checkout@v4
68+
with:
69+
fetch-depth: 0
70+
- name: Configure
71+
run: |
72+
export LDFLAGS="-L$(brew --prefix)/lib"
73+
export CPPFLAGS="-I$(brew --prefix expat)/include"
74+
mkdir build && cd build
75+
cmake -DCMAKE_INSTALL_PREFIX=../install-dir -DCMAKE_SHARED_LINKER_FLAGS="-L$(brew --prefix)/lib -Wl,-rpath,$(brew --prefix)/lib" -DCMAKE_CXX_FLAGS="-I$(brew --prefix)/include" -DCMAKE_BUILD_TYPE=Release ..
76+
- name: Build
77+
run: cmake --build build
78+
- name: Package
79+
run: |
80+
cd build
81+
cpack -G productbuild
82+
- name: Upload artifacts
83+
uses: actions/upload-artifact@v4
84+
with:
85+
name: macos
86+
path: build/calf-*.pkg
87+
msvc:
88+
name: msvc
89+
runs-on: windows-latest
90+
steps:
91+
- name: Check out
92+
uses: actions/checkout@v4
93+
with:
94+
fetch-depth: 0
95+
- name: Cache vcpkg dependencies
96+
id: cache-deps
97+
uses: actions/cache@v4
98+
with:
99+
key: vcpkg-x64-${{ hashFiles('vcpkg.json') }}
100+
restore-keys: |
101+
vcpkg-x64-
102+
path: build\vcpkg_installed
103+
- name: Configure
104+
run: |
105+
mkdir build -Force
106+
cmake `
107+
-B build `
108+
-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake `
109+
-DCMAKE_BUILD_TYPE=Debug `
110+
.
111+
- name: Build
112+
run: cmake --build build --config Release
113+
- name: Package
114+
run: |
115+
cd build
116+
cpack -G NSIS -C Release
117+
- name: Upload artifacts
118+
uses: actions/upload-artifact@v4
119+
with:
120+
name: windows
121+
path: build\calf-*.exe
122+
123+
# mingw-cross:
124+
# strategy:
125+
# matrix:
126+
# compiler:
127+
# - {bits: '32'}
128+
# - {bits: '64'}
129+
# name: mingw-${{matrix.compiler.bits}}-cross
130+
# runs-on: ubuntu-latest
131+
# steps:
132+
# - name: Check out
133+
# uses: actions/checkout@v4
134+
# with:
135+
# fetch-depth: 0
136+
# - name: Install MinGW
137+
# run: |
138+
# sudo dpkg --add-architecture i386 # for wine32
139+
# sudo apt-get update # due to new architecture
140+
# sudo apt-get install -y mingw-w64
141+
# - name: Compile dependencies
142+
# run: |
143+
# calf_pwd=$PWD
144+
# cd /tmp
145+
# wget https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.bz2
146+
# tar xjf expat-2.5.0.tar.bz2
147+
# cd expat-2.5.0
148+
# ./buildconf.sh
149+
# mkdir build
150+
# cd build
151+
# export CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov
152+
# cmake -DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON ..
153+
# make VERBOSE=1 CTEST_OUTPUT_ON_FAILURE=1 all
154+
# sudo make install
155+
# cd /tmp
156+
# rm -rf /tmp/expat-2.5.0
157+
# wget https://github.com/FluidSynth/fluidsynth/archive/refs/tags/v2.3.4.tar.gz
158+
# tar xfz v2.3.4.tar.gz
159+
# cd fluidsynth-2.3.4
160+
# mkdir build
161+
# cd build
162+
# ls -la $calf_pwd/..
163+
# ls -la $calf_pwd
164+
# ls -la $calf_pwd/cmake/toolchains
165+
# export PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig
166+
# cmake -DCMAKE_TOOLCHAIN_FILE=$calf_pwd/cmake/toolchains/FluidSynth-${{matrix.compiler.bits}}.cmake -Denable-libsndfile=0 -Denable-dbus=0 -Denable-pulseaudio=0 -Denable-jack=0 ..
167+
# sudo make install
168+
# - name: Install dependencies
169+
# run: |
170+
# sudo add-apt-repository ppa:tobydox/mingw-w64
171+
# sudo apt update
172+
# sudo apt-get install -y fluidsynth-mingw-w64
173+
# - name: Configure
174+
# run: >
175+
# mkdir build && cd build &&
176+
# PATH=/opt/mingw${{matrix.compiler.bits}}/bin:$PATH
177+
# cmake ..
178+
# -DCMAKE_INSTALL_PREFIX=../install
179+
# -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/Ubuntu-MinGW-W64-${{matrix.compiler.bits}}.cmake
180+
# -DCMAKE_PREFIX_PATH=/opt/mingw${{matrix.compiler.bits}}
181+
# - name: Build
182+
# run: cmake --build build

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,5 @@ dist/*
3535
.cproject
3636
.project
3737
compile
38+
!config.h.cmake.in
39+
build/

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Markus Schmidt <[email protected]>
88
Tom Szilagyi <[email protected]>
99
Damien Zammit <[email protected]>
1010
Christian Holschuh
11+
Johannes Lorenz
1112

1213
Additional bugfixes/enhancement patches:
1314
David Täht <[email protected]>

0 commit comments

Comments
 (0)