If QA checks are skipped, then it is counterproductive to hide
resulting errors by passing -DCMAKE_POLICY_VERSION_MINIMUM=3.5.

Better warn about the CMake 4 workaround possibly only getting the build
system to another error.

Signed-off-by: Andreas Sturmlechner <[email protected]>
---
 eclass/cmake.eclass | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index ebc78a333eef..91928b65b974 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -386,7 +386,8 @@ _cmake_minreqver-info() {
                eqawarn
                if has_version -b ">=dev-build/cmake-4"; then
                        eqawarn "CMake 4 detected; building with 
-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
-                       eqawarn "This is merely a workaround and *not* a 
permanent fix."
+                       eqawarn "This is merely a workaround to avoid CMake 
Error and *not* a permanent fix;"
+                       eqawarn "there may be new build or runtime bugs as a 
result."
                        eqawarn
                fi
                eqawarn "An upstreamable patch should take any resulting CMake 
policy changes"
@@ -748,7 +749,9 @@ cmake_src_configure() {
                cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
        fi
 
-       if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && has_version -b 
">=dev-build/cmake-4"; then
+       if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]] &&
+               [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] &&
+               has_version -b ">=dev-build/cmake-4"; then
                cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
        fi
 
-- 
2.51.0

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to