Add optional dependencies to Brewfile and improve CMake configuration

This commit updates the Brewfile to include additional optional dependencies such as Vulkan headers, RapidJSON, and various libraries for enhanced functionality. It also modifies CMake files to make the handling of optional components more user-friendly, allowing missing dependencies to disable features without causing build failures on macOS. Additionally, it refines the search paths for the Sparkle framework and adjusts the linking of the discord-rpc library based on the availability of RapidJSON.
This commit is contained in:
2026-01-22 14:19:33 +09:00
parent 81d5f57d13
commit a69024c0be
10 changed files with 175 additions and 9 deletions

View File

@@ -14,6 +14,7 @@ brew "ninja"
# Core runtime/build dependencies (required by CMakeLists.txt)
brew "qt" # Qt 6 (Core/Gui/Widgets/Network/Sql/Concurrent)
brew "vulkan-headers" # helps Qt6Gui's WrapVulkanHeaders dependency on some setups
brew "boost"
brew "icu4c"
brew "glib" # provides glib-2.0 + gobject-2.0 (via pkg-config)
@@ -30,6 +31,8 @@ brew "gstreamer"
# brew untap strawberry/local && brew tap strawberry/local "file://$PWD"
tap "strawberry/local", "file://#{Dir.pwd}"
brew "strawberry/local/kdsingleapplication-qt6"
brew "strawberry/local/qtsparkle-qt6" # optional: QtSparkle integration
brew "strawberry/local/sparkle-framework" # optional: Sparkle integration (framework)
# Recommended GStreamer plugin sets for broad codec support (matches README guidance)
brew "gst-plugins-base"
@@ -38,6 +41,16 @@ brew "gst-plugins-bad"
brew "gst-plugins-ugly"
brew "gst-libav"
# Optional features (silences CMake warnings / enables extra functionality)
brew "rapidjson" # enables Discord Rich Presence (DISCORD_RPC)
brew "google-sparsehash" # enables stream tagreader (STREAMTAGREADER / libsparsehash)
brew "chromaprint" # enables MusicBrainz + song fingerprinting
brew "fftw" # enables Moodbar (fftw3)
brew "libebur128" # enables EBU R 128 loudness normalization
brew "libcdio" # enables Audio CD support
brew "libmtp" # enables MTP device support
brew "libgpod" # enables iPod classic support
# Helpful for Strawberry's macOS "deploy" target (GStreamer dynamically loads libsoup)
brew "libsoup"