commit: 917bf0969e2ba21e65662f9cc4a46ce289a05495
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 13 14:28:09 2025 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 22 10:57:09 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=917bf096
cmake.eclass: Introduce _CMAKE_MINREQVER_UNSUPPORTED
Allows to split detection/eqawarn and applying cmakearg over different
phases.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index ea5a769b4cb4..4104882005a3 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -123,6 +123,11 @@ fi
# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
# false positives (e.g. unused outdated bundled libs).
+# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Is set to true if an unsupported cmake_minimum_required value was detected.
+
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -455,7 +460,7 @@ cmake_src_configure() {
# Fix xdg collision with sandbox
xdg_environment_reset
- local file ver cmreq_isold
+ local file ver
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
while read -d '' -r file ; do
ver=$(sed -ne
"/cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p;q}"
\
@@ -463,7 +468,7 @@ cmake_src_configure() {
)
if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
- cmreq_isold=true
+ _CMAKE_MINREQVER_UNSUPPORTED=true
fi
done < <(find "${CMAKE_USE_DIR}" -type f -iname
"CMakeLists.txt" -print0)
fi
@@ -648,7 +653,7 @@ cmake_src_configure() {
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
fi
- if [[ ${cmreq_isold} ]]; then
+ if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]]; then
eqawarn "QA Notice: Compatibility with CMake < 3.5 has been
removed from CMake 4,"
eqawarn "${CATEGORY}/${PN} will fail to build w/o a fix."
eqawarn "See also tracker bug #951350; check existing bug or
file a new one for"