Commit graph

2575 commits

Author SHA1 Message Date
derselbst
bf83911631 Fix Android CI Build
by explicitly enabling C language extensions. This will cause the
std=gnu90 to be passed via CMAKE_REQUIRED_FLAGS, making clang know about
the inline keyword rather than failing when querying for the netinet
headers:

/usr/local/lib/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64//sysroot/usr/include/linux/swab.h:39:8: error: unknown type name 'inline'
static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) {
2021-12-20 17:55:42 +01:00
derselbst
ce6e270a41 Fix PC_REQUIRES_PRIV related overlinking in fluidsynth.pc 2021-12-20 16:21:08 +01:00
derselbst
d9f95b77d4 Fix pkgconfig file generation after merge from master 2021-12-20 16:11:38 +01:00
derselbst
cfc5d722ec Modernize Pipewire cmake usage 2021-12-20 16:01:42 +01:00
derselbst
d47f53518e Merge branch 'master' into cmake-modernization 2021-12-20 15:56:02 +01:00
derselbst
8eaa91bf3b Remove obsolete comment from fluidsettings.xml
It's generated automatically by cmake.
2021-12-11 17:22:09 +01:00
derselbst
0d92eba476 Revert "Add Pipewire driver to Linux CI build"
This reverts commit 30e80abe77. Pipewire
is not yet available on Ubuntu 20.*
2021-12-11 17:21:31 +01:00
derselbst
776b4510c1 Remove MacOS 10.14 build 2021-12-11 17:16:45 +01:00
derselbst
72b74820a9 Document new pipewire settings 2021-12-11 17:16:02 +01:00
derselbst
30e80abe77 Add Pipewire driver to Linux CI build 2021-12-11 17:02:35 +01:00
derselbst
69113aad89 Format Pipewire driver 2021-12-11 17:00:30 +01:00
derselbst
3bc4e88903 Use FLUID_FREE 2021-12-11 17:00:04 +01:00
derselbst
94c459970e Fix pipewire build 2021-12-11 16:59:36 +01:00
Tom M
e63ea6698e
Merge pull request #982 from sykhro/master
[RFC] PipeWire audio driver
2021-12-11 16:56:16 +01:00
Eli M
6292e2c04d Add PipeWire driver to the build system
Signed-off-by: E. Melucci <eli@meluc.ci>
2021-12-07 17:17:16 +01:00
Eli M
c831deb81c Add PipeWire driver to the audio drivers list 2021-12-07 17:17:16 +01:00
Eli M
5b36a556fe Implement PipeWire driver
Signed-off-by: E. Melucci <eli@meluc.ci>
2021-12-07 17:17:16 +01:00
derselbst
56034e7f2b Fix vcpkg CI pipeline
vcpkg repo seems now to be a complete repo rather than shallow as before
2021-12-05 17:45:10 +01:00
Tom M
056e29ea59 Make Android CI Pipeline fail correctly
Only execute the steps when succeeded()
2021-11-27 10:46:31 +01:00
KO Myung-Hun
56fd559860 Fix failure due to list JOIN sub-command
list JOIN sub-command is supported since v3.12.
2021-11-27 10:34:16 +01:00
derselbst
6c807bdd37 Bump to 2.2.4 2021-11-21 16:40:48 +01:00
Bill Peterson
a3dd7fddcb
Rewind playlist if calling fluid_player_play after all loops complete (#994) 2021-10-30 15:01:58 +02:00
derselbst
a01917baa2 Remove enable-debug cmake option 2021-10-17 18:31:43 +02:00
derselbst
bb3bc6da26 Remove enable-pkgconfig cmake option 2021-10-17 18:31:07 +02:00
derselbst
90da8af70f Merge branch 'master' into cmake-modernization 2021-10-17 18:23:09 +02:00
Nikos Chantziaras
de05ef2a1c
Fix static mingw linking issues (#990)
* add missing link to libmman
* more complete list of private dependencies in pkg-config file
2021-10-17 18:12:49 +02:00
Tom M
fa75468595
Add a static MinGW CI build (#992) 2021-10-17 14:43:30 +02:00
Yu Qing
7ef8652326
fix windows related encoding problems (#984) 2021-10-03 12:15:57 +02:00
Nikos Chantziaras
db5db4b845
Add cmake build option for disabling OpenMP (#986)
In my case this is because of issue #985, but there's also the use case of being able to test without OpenMP. For example, to disable it on my system in order to test if the crash had anything to do with OpenMP, I had to manually edit `CMakeLists.txt` each time I wanted to turn it off and on again.
2021-09-28 21:53:08 +02:00
Bill Peterson
6c593180ce
Per-channel ALL_SOUND_OFF when seeking/stopping player (#980)
- Only send all sound off on channels which had notes playing
- Send it as ALL_SOUND_OFF CC to a MIDI router to route it to a different synth channel afterwards
2021-09-28 21:29:26 +02:00
Pedro López-Cabanillas
1ddf4c54cf Debian packaging adapted to GNUInstallDirs 2021-09-15 22:56:05 +02:00
Pedro López-Cabanillas
563592aa3d Adopting GNUInstallDirs
* removed and/or replaced most definitions from DefaultDirs.cmake
* removed LIB_SUFFIX
* fixed DEFAULT_SOUNDFOUNT in Windows
2021-09-15 22:56:05 +02:00
derselbst
926581851e Bump to 2.2.3 2021-09-11 18:26:35 +02:00
derselbst
27d357ed31 Add non framework Mac CI build 2021-09-11 18:17:20 +02:00
derselbst
1d9957f14b Merge branch 'master' into cmake-modernization 2021-09-11 18:10:23 +02:00
Pedro López-Cabanillas
6a0d838f33 Fixed OpenMP detection and building, better PkgConfigHelpers.cmake 2021-09-11 18:09:52 +02:00
Tom M
054685fa67
Merge pull request #973 from pedrolcl/no-global-macros
No global macros
2021-09-07 22:49:54 +02:00
Tom M
6e123d6ef0
Add MacOS 11 CI Build (#975) 2021-09-07 22:10:29 +02:00
Pedro López-Cabanillas
b23dc4e961 fixed compilation of CLI client 2021-09-05 22:37:25 +02:00
Pedro López-Cabanillas
55678a078a new macros in pkgconfighelpers.cmake
* sanitize_target_dirs(target) removes include and link directories that
do not exist from the given immported target
* generate_pkgconfig_spec() builds fluidsynth.pc taking the private
libraries from a given target dependencies
2021-09-05 21:56:52 +02:00
Pedro López-Cabanillas
19b9a12e4f fixed link CLI program 2021-09-05 12:09:54 +02:00
Pedro López-Cabanillas
5a71336bd9 replaced global include_directories and link_directories
* by target_include_directories
* by target_link_libraries, using imported targets when possible
2021-09-05 11:30:25 +02:00
Pedro López-Cabanillas
21aca082a9 less property dance 2021-09-04 20:38:17 +02:00
Pedro López-Cabanillas
66b77bfb6f
cmake modernization, tasks 1 & 2 (#970)
* raised cmake_minimum_required ( VERSION 3.13 )
* removed other CMAKE_VERSION checks
* fixed overlinking of library, cmdline client, and unit tests
2021-09-03 12:21:05 +02:00
derselbst
1e6c5b75e3 Add .cmake build files to .spec file 2021-09-01 21:04:33 +02:00
Pedro López-Cabanillas
ebed81099d Clarifications 2021-09-01 21:03:10 +02:00
Pedro López-Cabanillas
7ca3407d30 fixes and simplifications
* FluidSynthConfigVersion.cmake is created with ${VERSION} instead of
${LIB_VERSION_INFO}
* FluidSynthConfig.cmake.in simplified: it doesn't need to include the
version file.
* Simplified BUILD_INTERFACE generator expression as suggested
2021-09-01 21:00:30 +02:00
Pedro López-Cabanillas
ad4f1b9191 cmake: export targets
The build system creates two exported targets:
- The executable FluidSynth::fluidsynth
- The library FluidSynth::libfluidsynth

A downstream project using CMake can find and link the library target
directly with cmake (without needing pkg-config) this way:

~~~
project(sample LANGUAGES C)
find_package ( FluidSynth )
if (FluidSynth_FOUND)
  add_executable( sample sample.c )
  target_link_libraries ( sample PRIVATE FluidSynth::libfluidsynth )
endif ()
~~~

After installing fluidsynth in a prefix like "$HOME/Fluidsynth3":
cmake -DCNAKE_PREFIX_PATH="$HOME/Fluidsynth3/;..."

Instead installing, the build directory can be used directly, for
instance:

cmake -DFluidSynth_DIR="$HOME/fluidsynth-2.2.2/build/" ...
2021-09-01 21:00:18 +02:00
Tom M
f6fa0290b7
Merge pull request #967 from FluidSynth/revert-943-wip-cmake-export-targets
Reverts most of #943 on master as it accidentally broke compilation with CMake < 3.11, but keep the build files for OBS.
2021-09-01 20:58:02 +02:00
derselbst
a244420666 Add necessary files for CI at OBS 2021-09-01 19:54:08 +02:00