summaryrefslogtreecommitdiff
path: root/eclass/cmake.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-22 21:47:11 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-22 21:47:11 +0100
commit9368ace94caa5cdda868a0dbb7c75a3fc7a2b911 (patch)
treea9a5e87e053b6853c703732ad8050bd895efc1ea /eclass/cmake.eclass
parentc1d361b300cff921a04bd9ae2f800bf8914559eb (diff)
gentoo auto-resync : 22:08:2023 - 21:47:11
Diffstat (limited to 'eclass/cmake.eclass')
-rw-r--r--eclass/cmake.eclass7
1 files changed, 7 insertions, 0 deletions
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index 16b3e300ccae..fb3f9b6352be 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -125,6 +125,12 @@ fi
# read-only. This is a user flag and should under _no circumstances_ be set in
# the ebuild. Helps in improving QA of build systems that write to source tree.
+# @ECLASS_VARIABLE: CMAKE_SKIP_TESTS
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Array of tests that should be skipped when running CTest.
+
[[ ${CMAKE_MIN_VERSION} ]] && die "CMAKE_MIN_VERSION is banned; if necessary, set BDEPEND=\">=dev-util/cmake-${CMAKE_MIN_VERSION}\" directly"
[[ ${CMAKE_BUILD_DIR} ]] && die "The ebuild must be migrated to BUILD_DIR"
[[ ${CMAKE_REMOVE_MODULES} ]] && die "CMAKE_REMOVE_MODULES is banned, set CMAKE_REMOVE_MODULES_LIST array instead"
@@ -681,6 +687,7 @@ cmake_src_test() {
[[ -e CTestTestfile.cmake ]] || { echo "No tests found. Skipping."; return 0 ; }
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
+ [[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo "${CMAKE_SKIP_TESTS[*]}")')' )
set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
--test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"