Skip to content

Commit d778326

Browse files
committed
jack: do not try to use UMP when headers are from JACK1
1 parent acb1be6 commit d778326

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

cmake/libremidi.jack.cmake

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ endif()
3232
if(LIBREMIDI_HAS_JACK)
3333
target_compile_definitions(libremidi ${_public} LIBREMIDI_JACK)
3434
if(LIBREMIDI_HAS_WEAKJACK)
35-
target_compile_definitions(libremidi ${_public} LIBREMIDI_WEAKJACK)
35+
target_compile_definitions(libremidi ${_public} LIBREMIDI_WEAKJACK LIBREMIDI_HAS_JACK_GET_VERSION)
36+
else()
37+
# JACK1 did not have LIBREMIDI_HAS_JACK_GET_VERSION. Just skip building the UMP binding in that case...
38+
block()
39+
set(CMAKE_REQUIRED_INCLUDES $<BUILD_INTERFACE:${JACK_PATH}>)
40+
check_cxx_source_compiles("#include <jack/jack.h>\nint main() { return sizeof(jack_get_version); }" LIBREMIDI_HAS_JACK_GET_VERSION)
41+
if(LIBREMIDI_HAS_JACK_GET_VERSION)
42+
target_compile_definitions(libremidi ${_public} LIBREMIDI_HAS_JACK_GET_VERSION)
43+
endif()
44+
endblock()
3645
endif()
3746
endif()

include/libremidi/backends.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929

3030
#if defined(LIBREMIDI_JACK)
3131
#include <libremidi/backends/jack.hpp>
32-
#include <libremidi/backends/jack_ump.hpp>
32+
#if defined(LIBREMIDI_HAS_JACK_GET_VERSION)
33+
#include <libremidi/backends/jack_ump.hpp>
34+
#endif
3335
#endif
3436

3537
#if defined(LIBREMIDI_PIPEWIRE)
@@ -175,7 +177,7 @@ static constexpr auto available_backends = make_tl(
175177
,
176178
net_ump::backend{}
177179
#endif
178-
#if defined(LIBREMIDI_JACK)
180+
#if defined(LIBREMIDI_JACK) && defined(LIBREMIDI_HAS_JACK_GET_VERSION)
179181
,
180182
jack_ump::backend{}
181183
#endif

0 commit comments

Comments
 (0)