Files
strawberry/Formula/qtsparkle-qt6.rb
David Helkowski a69024c0be 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.
2026-01-22 14:19:33 +09:00

46 lines
1.4 KiB
Ruby

class QtsparkleQt6 < Formula
desc "Qt wrapper library for in-app updates (Qt 6 build)"
homepage "https://github.com/strawberrymusicplayer/qtsparkle"
url "https://github.com/strawberrymusicplayer/qtsparkle/archive/95ca3b77a79540d632b29e9a4df9aed30af5f901.tar.gz"
sha256 "945c9e96d2f6175b134a8ccfd6ec1acd268266d31969b5870d4037e8e5877834"
license "GPL-3.0-or-later"
depends_on "cmake" => :build
depends_on "ninja" => :build
depends_on "qt"
def install
args = std_cmake_args + %W[
-GNinja
-DBUILD_WITH_QT6=ON
-DBUILD_WITH_QT5=OFF
-DBUILD_SHARED_LIBS=ON
-DBUILD_STATIC_LIBS=OFF
]
system "cmake", "-S", ".", "-B", "build", *args
system "cmake", "--build", "build"
system "cmake", "--install", "build"
end
test do
# Strawberry expects: find_package(qtsparkle-qt6) and target qtsparkle-qt6::qtsparkle
(testpath/"CMakeLists.txt").write <<~CMAKE
cmake_minimum_required(VERSION 3.16)
project(qtsparkle_test LANGUAGES CXX)
find_package(qtsparkle-qt6 CONFIG REQUIRED)
add_library(dummy STATIC dummy.cpp)
target_link_libraries(dummy PRIVATE qtsparkle-qt6::qtsparkle)
CMAKE
(testpath/"dummy.cpp").write <<~CPP
int dummy() { return 0; }
CPP
system "cmake", "-S", ".", "-B", "build",
"-DCMAKE_PREFIX_PATH=#{opt_prefix}"
system "cmake", "--build", "build"
end
end