From 9126d617c534ca521e87ed0170a87ae59331933d Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Sat, 2 Aug 2025 12:33:20 +0200 Subject: [PATCH] Add option to use system RtMidi Signed-off-by: Marcin Serwin --- 3rdparty/rtmidi/CMakeLists.txt | 16 ++++++++++++---- CMakeLists.txt | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/3rdparty/rtmidi/CMakeLists.txt b/3rdparty/rtmidi/CMakeLists.txt index 610f858c6d..b9dd286ce0 100644 --- a/3rdparty/rtmidi/CMakeLists.txt +++ b/3rdparty/rtmidi/CMakeLists.txt @@ -1,4 +1,12 @@ -option(RTMIDI_API_JACK "Compile with JACK support." OFF) -option(RTMIDI_BUILD_TESTING "Build test programs" OFF) -set(RTMIDI_TARGETNAME_UNINSTALL "uninstall-rpcs3-rtmidi") -add_subdirectory(rtmidi EXCLUDE_FROM_ALL) +if(USE_SYSTEM_RTMIDI) + message(STATUS "RPCS3: using shared RtMidi") + pkg_check_modules(RtMidi REQUIRED IMPORTED_TARGET rtmidi>=6.0.0) + add_library(rtmidi INTERFACE) + target_link_libraries(rtmidi INTERFACE PkgConfig::RtMidi) + target_include_directories(rtmidi INTERFACE PkgConfig::RtMidi) +else() + option(RTMIDI_API_JACK "Compile with JACK support." OFF) + option(RTMIDI_BUILD_TESTING "Build test programs" OFF) + set(RTMIDI_TARGETNAME_UNINSTALL "uninstall-rpcs3-rtmidi") + add_subdirectory(rtmidi EXCLUDE_FROM_ALL) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f0c1c9443..ee6c96d980 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,6 +50,7 @@ option(USE_SYSTEM_MVK "Prefer system MoltenVK instead of the builtin one" OFF) option(USE_SYSTEM_OPENAL "Prefer system OpenAL instead of the prebuild one" ${USE_SYSTEM_OPENAL_DEFAULT}) option(USE_SYSTEM_OPENCV "Prefer system OpenCV instead of the builtin one" ON) option(USE_SYSTEM_PUGIXML "Prefer system pugixml instead of the builtin one" OFF) +option(USE_SYSTEM_RTMIDI "Prefer system RtMidi instead of the builtin one" OFF) option(USE_SYSTEM_SDL "Prefer system SDL instead of the builtin one" ON) option(USE_SYSTEM_WOLFSSL "Prefer system MoltenVK instead of the builtin one" OFF) option(USE_SYSTEM_ZLIB "Prefer system ZLIB instead of the builtin one" ON)