SUMMARY="Helper for multithreaded programming" DESCRIPTION="ThreadWeaver is a helper for multithreaded programming. It uses a job-based \ interface to queue tasks and execute them in an efficient way. You simply divide the workload into jobs, state the dependencies between the jobs and \ ThreadWeaver will work out the most efficient way of dividing the work between threads within a \ set of resource limits. See the information on use cases and why multithreading can help, as well as the usage section \ below, for more detailed information." HOMEPAGE="https://invent.kde.org/frameworks/threadweaver" COPYRIGHT="2010-2026 KDE Organisation" LICENSE="GNU LGPL v2" REVISION="1" SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/threadweaver-${portVersion}.tar.xz" CHECKSUM_SHA256="f74ca31f5559f55870496df5372da09dfb409e197cc6e0f660979b98cd611444" SOURCE_DIR="threadweaver-$portVersion" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" libVersion="$portVersion" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" threadweaver6$secondaryArchSuffix = $portVersion lib:libKF6ThreadWeaver$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libQt6Core$secondaryArchSuffix " PROVIDES_devel=" threadweaver6${secondaryArchSuffix}_devel = $portVersion devel:libKF6ThreadWeaver$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" threadweaver6$secondaryArchSuffix == $portVersion base " ARCHITECTURES_doc="any" PROVIDES_doc=" threadweaver6_doc = $portVersion " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel extra_cmake_modules$secondaryArchSuffix >= $portVersion qt6_tools${secondaryArchSuffix}_devel devel:libQt6Core$secondaryArchSuffix " BUILD_PREREQUIRES=" kde_qdoc_common cmd:cmake cmd:g++$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix " BUILD() { export KDE_DOCS="`finddir B_SYSTEM_DATA_DIRECTORY`"/kde-qdoc-common cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \ $cmakeDirArgs \ -DCMAKE_SKIP_RPATH=YES \ -DBUILD_TESTING=OFF \ -Wno-dev make -C build $jobArgs cmake --build build --target prepare_docs cmake --build build --target generate_docs cmake --build build --target generate_qch } INSTALL() { make -C build install # cmake --build build --target install_html_docs cmake --build build --target install_qch_docs prepareInstalledDevelLib \ libKF6ThreadWeaver packageEntries devel \ $developDir \ $libDir/cmake packageEntries doc \ $documentationDir } TEST() { export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" ctest --test-dir build --output-on-failure }