This commit introduces a Brewfile for managing dependencies required by the Strawberry Music Player on macOS, including build tools and runtime dependencies. Additionally, a local Homebrew formula for KDSingleApplication-qt6 is added to facilitate its installation, as it is not consistently available in Homebrew core. A README is also included to guide users on installation and usage.
52 lines
1.6 KiB
Ruby
52 lines
1.6 KiB
Ruby
class KdsingleapplicationQt6 < Formula
|
|
desc "Helper class for single-instance Qt applications (Qt 6 build)"
|
|
homepage "https://github.com/KDAB/KDSingleApplication"
|
|
url "https://github.com/KDAB/KDSingleApplication/archive/refs/tags/v1.1.0.tar.gz"
|
|
sha256 "1f19124c0aa5c6fffee3da174f7d2e091fab6dca1e123da70bb0fe615bfbe3e8"
|
|
license "MIT"
|
|
|
|
depends_on "cmake" => :build
|
|
depends_on "ninja" => :build
|
|
depends_on "qt"
|
|
|
|
def install
|
|
args = std_cmake_args + %W[
|
|
-GNinja
|
|
-DKDSingleApplication_QT6=ON
|
|
-DKDSingleApplication_TESTS=OFF
|
|
-DKDSingleApplication_EXAMPLES=OFF
|
|
-DKDSingleApplication_DOCS=OFF
|
|
-DKDSingleApplication_DEVELOPER_MODE=OFF
|
|
-DKDSingleApplication_STATIC=OFF
|
|
]
|
|
|
|
system "cmake", "-S", ".", "-B", "build", *args
|
|
system "cmake", "--build", "build"
|
|
system "cmake", "--install", "build"
|
|
end
|
|
|
|
test do
|
|
# Verify CMake package is usable via find_package(KDSingleApplication-qt6 CONFIG REQUIRED)
|
|
(testpath/"CMakeLists.txt").write <<~CMAKE
|
|
cmake_minimum_required(VERSION 3.16)
|
|
project(kdsa_test LANGUAGES CXX)
|
|
find_package(KDSingleApplication-qt6 CONFIG REQUIRED)
|
|
add_executable(test_kdsa main.cpp)
|
|
target_link_libraries(test_kdsa PRIVATE KDAB::kdsingleapplication)
|
|
CMAKE
|
|
|
|
(testpath/"main.cpp").write <<~CPP
|
|
#include <QCoreApplication>
|
|
int main(int argc, char** argv) {
|
|
QCoreApplication app(argc, argv);
|
|
return 0;
|
|
}
|
|
CPP
|
|
|
|
system "cmake", "-S", ".", "-B", "build",
|
|
"-DCMAKE_PREFIX_PATH=#{opt_prefix}"
|
|
system "cmake", "--build", "build"
|
|
end
|
|
end
|
|
|