SUMMARY="Persistent platform-independent application settings" DESCRIPTION="KConfig provides an advanced configuration system. It is made \ of two parts: KConfigCore and KConfigGui. KConfigCore provides access to the configuration files themselves. It features: * Code generation: describe your configuration in an XML file, and use \ kconfig_compiler to generate classes that read and write configuration \ entries. * Cascading configuration files (global settings overridden by local settings). * Optional shell expansion support (see [docs/options.md](@ref options)). * The ability to lock down configuration options (see [docs/options.md](@ref \ options)). KConfigGui provides a way to hook widgets to the configuration so that they \ are automatically initialized from the configuration and automatically \ propagate their changes to their respective configuration files." HOMEPAGE="https://invent.kde.org/frameworks/kconfig" COPYRIGHT="2010-2026 KDE Organisation" LICENSE="GNU LGPL v2" REVISION="1" SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/kconfig-${portVersion}.tar.xz" CHECKSUM_SHA256="8c675c9d35a866fbf1b564354a589019b429cca949f7ba3ba0adb9f2fa15959c" SOURCE_DIR="kconfig-$portVersion" ARCHITECTURES="all !x86_gcc2" SECONDARY_ARCHITECTURES="x86" libVersion="$portVersion" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" kconfig6$secondaryArchSuffix = $portVersion cmd:kreadconfig6$secondaryArchSuffix = $portVersion cmd:kwriteconfig6$secondaryArchSuffix = $portVersion lib:libKF6ConfigCore$secondaryArchSuffix = $libVersionCompat lib:libKF6ConfigGui$secondaryArchSuffix = $libVersionCompat lib:libKF6ConfigQml$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix lib:libGL$secondaryArchSuffix lib:libQt6Core$secondaryArchSuffix lib:libQt6Gui$secondaryArchSuffix lib:libQt6Network$secondaryArchSuffix lib:libQt6Qml$secondaryArchSuffix lib:libQt6Xml$secondaryArchSuffix " PROVIDES_devel=" kconfig6${secondaryArchSuffix}_devel = $portVersion devel:libKF6ConfigCore$secondaryArchSuffix = $libVersionCompat devel:libKF6ConfigGui$secondaryArchSuffix = $libVersionCompat devel:libKF6ConfigQml$secondaryArchSuffix = $libVersionCompat " REQUIRES_devel=" kconfig6$secondaryArchSuffix == $portVersion base devel:libQt6Qml$secondaryArchSuffix " ARCHITECTURES_doc="any" PROVIDES_doc=" kconfig6_doc = $portVersion " BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel extra_cmake_modules$secondaryArchSuffix >= $portVersion qt6_tools${secondaryArchSuffix}_devel devel:libQt6Core$secondaryArchSuffix devel:libQt6Qml$secondaryArchSuffix " BUILD_PREREQUIRES=" kde_qdoc_common cmd:cmake cmd:g++$secondaryArchSuffix cmd:make cmd:msgfmt$secondaryArchSuffix cmd:msgmerge$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix " TEST_REQUIRES=" qthaikuplugins$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 prepareInstalledDevelLibs \ libKF6ConfigCore \ libKF6ConfigGui \ libKF6ConfigQml fixPkgconfig packageEntries devel \ $developDir \ $libDir/cmake packageEntries doc \ $documentationDir } TEST() { # 96% tests passed, 3 tests failed out of 71 export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" ctest --test-dir build --output-on-failure }