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.
46 lines
1.4 KiB
Ruby
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
|
|
|