summaryrefslogtreecommitdiff
path: root/eclass/cmake.eclass
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2025-05-19 20:37:02 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2025-05-20 22:52:09 +0200
commit3051b800aa43ec67882a92c1fbdc7d81467f04ec (patch)
tree53cc3f467129841d2a92969b7b0d591fc4142b55 /eclass/cmake.eclass
parent431079909b6ffce12da3835adede778dbf07187f (diff)
downloadkde-3051b800aa43ec67882a92c1fbdc7d81467f04ec.tar.gz
kde-3051b800aa43ec67882a92c1fbdc7d81467f04ec.tar.bz2
kde-3051b800aa43ec67882a92c1fbdc7d81467f04ec.zip
cmake.eclass: Add CMAKE_QA_COMPAT_SKIP flag to skip compat checks
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'eclass/cmake.eclass')
-rw-r--r--eclass/cmake.eclass26
1 files changed, 17 insertions, 9 deletions
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 0eb6c07f9b3..f7394a3790d 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -117,6 +117,12 @@ fi
# for econf and is needed to pass TRY_RUN results when cross-compiling.
# Should be set by user in a per-package basis in /etc/portage/package.env.
+# @ECLASS_VARIABLE: CMAKE_QA_COMPAT_SKIP
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# 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_QA_SRC_DIR_READONLY
# @USER_VARIABLE
# @DEFAULT_UNSET
@@ -363,15 +369,17 @@ cmake_src_configure() {
xdg_environment_reset
local file ver cmreq_isold
- while read -d '' -r file ; do
- ver=$(sed -ne "/cmake_minimum_required/ s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
- "${file}" 2>/dev/null \
- )
-
- if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
- cmreq_isold=true
- fi
- done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0)
+ if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
+ while read -d '' -r file ; do
+ ver=$(sed -ne "/cmake_minimum_required/ s/.*\(\.\.\.\|\s\)\([0-9.]*\)\([)]\|\s\).*$/\2/p" \
+ "${file}" 2>/dev/null \
+ )
+
+ if [[ -n $ver ]] && ver_test $ver -lt "3.5"; then
+ cmreq_isold=true
+ fi
+ done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0)
+ fi
# Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.)
local build_rules=${BUILD_DIR}/gentoo_rules.cmake