mirror of
https://github.com/flatcar/scripts.git
synced 2025-11-15 15:42:06 +01:00
eclass/cmake: Sync with Gentoo
It's from Gentoo commit 95e523a1d2d50ede698dd91bf82294c6a2e17ccc. Signed-off-by: Flatcar Buildbot <buildbot@flatcar-linux.org>
This commit is contained in:
parent
b9f38d440b
commit
7636bc67a5
@ -19,7 +19,11 @@
|
|||||||
# out-of-source builds (default) and in-source builds.
|
# out-of-source builds (default) and in-source builds.
|
||||||
|
|
||||||
case ${EAPI} in
|
case ${EAPI} in
|
||||||
7|8) ;;
|
7)
|
||||||
|
ewarn "${CATEGORY}/${PF}: ebuild uses ${ECLASS} with deprecated EAPI ${EAPI}!"
|
||||||
|
ewarn "${CATEGORY}/${PF}: Support will be removed on 2025-11-14. Please port to newer EAPI."
|
||||||
|
;;
|
||||||
|
8) ;;
|
||||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -110,6 +114,15 @@ fi
|
|||||||
# The default is set to "yes" (enabled).
|
# The default is set to "yes" (enabled).
|
||||||
: "${CMAKE_WARN_UNUSED_CLI:=yes}"
|
: "${CMAKE_WARN_UNUSED_CLI:=yes}"
|
||||||
|
|
||||||
|
# @ECLASS_VARIABLE: CMAKE_ECM_MODE
|
||||||
|
# @DEFAULT_UNSET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Default value is "auto", which means _cmake_modify-cmakelists will make an
|
||||||
|
# effort to detect find_package(ECM) in CMakeLists.txt. If set to true, make
|
||||||
|
# extra checks and add common config settings related to ECM (KDE Extra CMake
|
||||||
|
# Modules). If set to false, do nothing.
|
||||||
|
: "${CMAKE_ECM_MODE:=auto}"
|
||||||
|
|
||||||
# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
|
# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
|
||||||
# @USER_VARIABLE
|
# @USER_VARIABLE
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
@ -124,11 +137,31 @@ fi
|
|||||||
# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
|
# If set, skip detection of CMakeLists.txt unsupported in CMake 4 in case of
|
||||||
# false positives (e.g. unused outdated bundled libs).
|
# false positives (e.g. unused outdated bundled libs).
|
||||||
|
|
||||||
# @ECLASS_VARIABLE: _CMAKE_MINREQVER_UNSUPPORTED
|
# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE305
|
||||||
# @DEFAULT_UNSET
|
# @DEFAULT_UNSET
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Internal status set by _cmake_minreqver-lt(); is true if an unsupported
|
# Internal array containing <file>:<version> tuples detected by
|
||||||
# cmake_minimum_required value was detected.
|
# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
|
||||||
|
# version lower than 3.5.
|
||||||
|
_CMAKE_MINREQVER_CMAKE305=()
|
||||||
|
|
||||||
|
# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE310
|
||||||
|
# @DEFAULT_UNSET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Internal array containing <file>:<version> tuples detected by
|
||||||
|
# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
|
||||||
|
# version lower than 3.10 (causes CMake warnings as of 4.0) on top of those
|
||||||
|
# already added to _CMAKE_MINREQVER_CMAKE305.
|
||||||
|
_CMAKE_MINREQVER_CMAKE310=()
|
||||||
|
|
||||||
|
# @ECLASS_VARIABLE: _CMAKE_MINREQVER_CMAKE316
|
||||||
|
# @DEFAULT_UNSET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# Internal array containing <file>:<version> tuples detected by
|
||||||
|
# _cmake_minreqver-check() for any CMakeLists.txt with cmake_minimum_required
|
||||||
|
# version lower than 3.16 (causes ECM warnings since 5.100), on top of those
|
||||||
|
# already added to _CMAKE_MINREQVER_CMAKE305 and _CMAKE_MINREQVER_CMAKE310.
|
||||||
|
_CMAKE_MINREQVER_CMAKE316=()
|
||||||
|
|
||||||
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
|
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
|
||||||
# @USER_VARIABLE
|
# @USER_VARIABLE
|
||||||
@ -150,6 +183,14 @@ fi
|
|||||||
[[ ${WANT_CMAKE} ]] && die "WANT_CMAKE has been removed and is a no-op"
|
[[ ${WANT_CMAKE} ]] && die "WANT_CMAKE has been removed and is a no-op"
|
||||||
[[ ${PREFIX} ]] && die "PREFIX has been removed and is a no-op"
|
[[ ${PREFIX} ]] && die "PREFIX has been removed and is a no-op"
|
||||||
|
|
||||||
|
case ${CMAKE_ECM_MODE} in
|
||||||
|
auto|true|false) ;;
|
||||||
|
*)
|
||||||
|
eerror "Unknown value for \${CMAKE_ECM_MODE}"
|
||||||
|
die "Value ${CMAKE_ECM_MODE} is not supported"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
case ${CMAKE_MAKEFILE_GENERATOR} in
|
case ${CMAKE_MAKEFILE_GENERATOR} in
|
||||||
emake)
|
emake)
|
||||||
BDEPEND="dev-build/make"
|
BDEPEND="dev-build/make"
|
||||||
@ -330,25 +371,141 @@ _cmake_check_build_dir() {
|
|||||||
mkdir -p "${BUILD_DIR}" || die
|
mkdir -p "${BUILD_DIR}" || die
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: _cmake_minreqver-lt
|
# @FUNCTION: _cmake_minreqver-check
|
||||||
# @USAGE: <lt-version> <path>
|
# @USAGE: <path> or <path> <lt-version>
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Internal function for detecting occurrence of lower-than-specified
|
# Internal function for flagging any deprecated or unsupported
|
||||||
# <lt-version> in cmake_minimum_required of a given CMake file <path>.
|
# cmake_minimum_required version in a given CMake file <path>.
|
||||||
|
# If <lt-version> is specified as second arg, only check against that value.
|
||||||
# Returns 0 if the regex matched (a lower-than-specified version found).
|
# Returns 0 if the regex matched (a lower-than-specified version found).
|
||||||
_cmake_minreqver-lt() {
|
_cmake_minreqver-check() {
|
||||||
local ver chk=1
|
local ver chk=1
|
||||||
|
if [[ "$#" == 2 ]]; then
|
||||||
|
local file="${1}"
|
||||||
|
local lt_version="${2}"
|
||||||
|
elif [[ "$#" == 1 ]]; then
|
||||||
|
local file="${1}"
|
||||||
|
else
|
||||||
|
die "${FUNCNAME[0]} must be passed either one or two arguments"
|
||||||
|
fi
|
||||||
ver=$(sed -ne "/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}" \
|
ver=$(sed -ne "/^\s*cmake_minimum_required/I{s/.*\(\.\.\.*\|\s\)\([0-9][0-9.]*\)\([)]\|\s\).*$/\2/p;q}" \
|
||||||
"${2}" 2>/dev/null \
|
"${file}" 2>/dev/null \
|
||||||
)
|
)
|
||||||
if [[ -n ${ver} ]] && ver_test "${ver}" -lt "${1}"; then
|
if [[ -z ${ver} ]]; then
|
||||||
_CMAKE_MINREQVER_UNSUPPORTED=true
|
return 1 # no cmake_minimum_required found
|
||||||
chk=0
|
fi
|
||||||
|
if [[ -n ${lt_version} ]]; then
|
||||||
|
chk=$(ver_test "${ver}" -lt "${lt_version}")
|
||||||
|
else
|
||||||
|
if ver_test "${ver}" -lt "3.5"; then
|
||||||
|
_CMAKE_MINREQVER_CMAKE305+=( "${file}":"${ver}" )
|
||||||
|
chk=0
|
||||||
|
fi
|
||||||
|
# we don't want duplicates that were already flagged
|
||||||
|
if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.10"; then
|
||||||
|
_CMAKE_MINREQVER_CMAKE310+=( "${file}":"${ver}" )
|
||||||
|
chk=0
|
||||||
|
fi
|
||||||
|
# we don't want duplicates that were already flagged
|
||||||
|
if [[ $chk != 0 ]] && ver_test "${ver}" -lt "3.16"; then
|
||||||
|
_CMAKE_MINREQVER_CMAKE316+=( "${file}":"${ver}" )
|
||||||
|
chk=0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
return ${chk}
|
return ${chk}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @FUNCTION: _cmake_minreqver-info
|
||||||
|
# @INTERNAL
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# QA Notice and file listings for any CMakeLists.txt file not meeting various
|
||||||
|
# minimum standards for cmake_minimum_required.
|
||||||
|
_cmake_minreqver-info() {
|
||||||
|
local warnlvl
|
||||||
|
[[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && warnlvl=305
|
||||||
|
[[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]] || [[ ${warnlvl} ]] && warnlvl=310
|
||||||
|
[[ ${CMAKE_ECM_MODE} == true ]] &&
|
||||||
|
{ [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]] || [[ ${warnlvl} ]]; } && warnlvl=316
|
||||||
|
|
||||||
|
local weak_qaw="QA Notice: "
|
||||||
|
minreqver_qanotice() {
|
||||||
|
case ${1} in
|
||||||
|
305)
|
||||||
|
eqawarn "${weak_qaw}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"
|
||||||
|
eqawarn "this package, and take it upstream."
|
||||||
|
;;
|
||||||
|
310)
|
||||||
|
eqawarn "${weak_qaw}Compatibility with CMake < 3.10 will be removed in a future release."
|
||||||
|
eqawarn "If not fixed in upstream's code repository, we should make sure they are aware."
|
||||||
|
eqawarn "See also tracker bug #964405; check existing or file a new bug for this package."
|
||||||
|
;;
|
||||||
|
316)
|
||||||
|
eqawarn "${weak_qaw}Compatibility w/ CMake < 3.16 will be removed in future ECM release."
|
||||||
|
eqawarn "If not fixed in upstream's code repository, we should make sure they are aware."
|
||||||
|
eqawarn "See also tracker bug #964407; check existing or file a new bug for this package."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
eqawarn
|
||||||
|
weak_qaw="" # weak notice: no "QA Notice" starting with second call
|
||||||
|
}
|
||||||
|
|
||||||
|
local info
|
||||||
|
minreqver_listing() {
|
||||||
|
case ${1} in
|
||||||
|
305)
|
||||||
|
eqawarn "The following CMakeLists.txt files are causing errors:"
|
||||||
|
for info in ${_CMAKE_MINREQVER_CMAKE305[*]}; do
|
||||||
|
eqawarn " ${info#"${CMAKE_USE_DIR}/"}";
|
||||||
|
done
|
||||||
|
eqawarn
|
||||||
|
;;
|
||||||
|
310)
|
||||||
|
if [[ -n ${_CMAKE_MINREQVER_CMAKE310[@]} ]]; then
|
||||||
|
eqawarn "The following CMakeLists.txt files are causing warnings:"
|
||||||
|
for info in ${_CMAKE_MINREQVER_CMAKE310[*]}; do
|
||||||
|
eqawarn " ${info#"${CMAKE_USE_DIR}/"}";
|
||||||
|
done
|
||||||
|
eqawarn
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
316)
|
||||||
|
if [[ ${warnlvl} -ge 316 ]] && [[ -n ${_CMAKE_MINREQVER_CMAKE316[@]} ]]; then
|
||||||
|
eqawarn "The following CMakeLists.txt files are causing warnings:"
|
||||||
|
for info in ${_CMAKE_MINREQVER_CMAKE316[*]}; do
|
||||||
|
eqawarn " ${info#"${CMAKE_USE_DIR}/"}";
|
||||||
|
done
|
||||||
|
eqawarn
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# CMake 4-caused error is highest priority and must always be shown
|
||||||
|
if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]]; then
|
||||||
|
minreqver_qanotice 305
|
||||||
|
minreqver_listing 305
|
||||||
|
fi
|
||||||
|
# for warnings, we only want the latest relevant one, but list all flagged files
|
||||||
|
if [[ ${warnlvl} -ge 310 ]]; then
|
||||||
|
minreqver_qanotice ${warnlvl}
|
||||||
|
for info in 310 316; do minreqver_listing ${info}; done
|
||||||
|
fi
|
||||||
|
if [[ ${warnlvl} ]]; then
|
||||||
|
if [[ -n ${_CMAKE_MINREQVER_CMAKE305[@]} ]] && 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 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"
|
||||||
|
eqawarn "into account. See also:"
|
||||||
|
eqawarn " https://cmake.org/cmake/help/latest/manual/cmake-policies.7.html"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# @FUNCTION: _cmake_modify-cmakelists
|
# @FUNCTION: _cmake_modify-cmakelists
|
||||||
# @INTERNAL
|
# @INTERNAL
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
@ -375,9 +532,12 @@ _cmake_modify-cmakelists() {
|
|||||||
einfo "${mod_line:22:99}"
|
einfo "${mod_line:22:99}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
if [[ ${CMAKE_ECM_MODE} == auto ]] && grep -Eq "\s*find_package\s*\(\s*ECM " "${file}"; then
|
||||||
|
CMAKE_ECM_MODE=true
|
||||||
|
fi
|
||||||
# Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set
|
# Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set
|
||||||
if [[ -z ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
|
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
|
||||||
_cmake_minreqver-lt "3.5" "${file}"
|
_cmake_minreqver-check "${file}"
|
||||||
fi
|
fi
|
||||||
done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0 || die)
|
done < <(find "${CMAKE_USE_DIR}" -type f -iname "CMakeLists.txt" -print0 || die)
|
||||||
|
|
||||||
@ -397,23 +557,6 @@ _cmake_modify-cmakelists() {
|
|||||||
_EOF_
|
_EOF_
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: _cmake4_callout
|
|
||||||
# @INTERNAL
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# QA notice printout for build systems unsupported w/ CMake-4.
|
|
||||||
_cmake4_callout() {
|
|
||||||
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"
|
|
||||||
eqawarn "this package, and take it upstream."
|
|
||||||
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."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# @FUNCTION: cmake_prepare
|
# @FUNCTION: cmake_prepare
|
||||||
# @DESCRIPTION:
|
# @DESCRIPTION:
|
||||||
# Check existence of and sanitise CMake files, then make ${CMAKE_USE_DIR}
|
# Check existence of and sanitise CMake files, then make ${CMAKE_USE_DIR}
|
||||||
@ -445,7 +588,7 @@ cmake_prepare() {
|
|||||||
|
|
||||||
# Remove dangerous things.
|
# Remove dangerous things.
|
||||||
_cmake_modify-cmakelists
|
_cmake_modify-cmakelists
|
||||||
_cmake4_callout
|
_cmake_minreqver-info
|
||||||
|
|
||||||
# Make ${CMAKE_USE_DIR} read-only in order to detect broken build systems
|
# Make ${CMAKE_USE_DIR} read-only in order to detect broken build systems
|
||||||
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
||||||
@ -486,14 +629,13 @@ cmake_src_prepare() {
|
|||||||
find "${S}" -name "${name}.cmake" -exec rm -v {} + || die
|
find "${S}" -name "${name}.cmake" -exec rm -v {} + || die
|
||||||
done
|
done
|
||||||
_cmake_modify-cmakelists # Remove dangerous things.
|
_cmake_modify-cmakelists # Remove dangerous things.
|
||||||
_cmake4_callout
|
_cmake_minreqver-info
|
||||||
popd > /dev/null || die
|
popd > /dev/null || die
|
||||||
# Make ${S} read-only in order to detect broken build systems
|
# Make ${S} read-only in order to detect broken build systems
|
||||||
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
if [[ ${CMAKE_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
||||||
chmod -R a-w "${S}"
|
chmod -R a-w "${S}"
|
||||||
fi
|
fi
|
||||||
_CMAKE_PREPARE_HAS_RUN=1
|
_CMAKE_PREPARE_HAS_RUN=1
|
||||||
eqawarn "QA Notice: cmake.eclass will throw unsupported EAPI=7 error after 2025-11-01."
|
|
||||||
else
|
else
|
||||||
default_src_prepare
|
default_src_prepare
|
||||||
cmake_prepare
|
cmake_prepare
|
||||||
@ -631,20 +773,15 @@ cmake_src_configure() {
|
|||||||
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE FILEPATH "Gentoo override rules")
|
set(CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE FILEPATH "Gentoo override rules")
|
||||||
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
|
set(CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
|
||||||
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
|
set(BUILD_SHARED_LIBS ON CACHE BOOL "")
|
||||||
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
|
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "") # FindPythonInterp, Gentoo-bug #835799
|
||||||
|
set(CMAKE_POLICY_DEFAULT_CMP0094 NEW CACHE STRING "" ) # FindPython, Gentoo-bug #959154
|
||||||
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
|
set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON CACHE BOOL "")
|
||||||
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION OFF CACHE BOOL "")
|
||||||
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
|
set(CMAKE_TLS_VERIFY ON CACHE BOOL "")
|
||||||
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
|
set(CMAKE_COMPILE_WARNING_AS_ERROR OFF CACHE BOOL "")
|
||||||
|
set(CMAKE_LINK_WARNING_AS_ERROR OFF CACHE BOOL "")
|
||||||
_EOF_
|
_EOF_
|
||||||
|
|
||||||
if [[ -n ${_ECM_ECLASS} ]]; then
|
|
||||||
cat >> ${common_config} <<- _EOF_ || die
|
|
||||||
set(ECM_DISABLE_QMLPLUGINDUMP ON CACHE BOOL "")
|
|
||||||
set(ECM_DISABLE_APPSTREAMTEST ON CACHE BOOL "")
|
|
||||||
set(ECM_DISABLE_GIT ON CACHE BOOL "")
|
|
||||||
_EOF_
|
|
||||||
fi
|
|
||||||
|
|
||||||
# See bug 689410
|
# See bug 689410
|
||||||
if [[ "${ARCH}" == riscv ]]; then
|
if [[ "${ARCH}" == riscv ]]; then
|
||||||
echo 'set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX '"${libdir#lib}"' CACHE STRING "library search suffix" FORCE)' >> "${common_config}" || die
|
echo 'set(CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX '"${libdir#lib}"' CACHE STRING "library search suffix" FORCE)' >> "${common_config}" || die
|
||||||
@ -716,7 +853,9 @@ cmake_src_configure() {
|
|||||||
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
|
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${_CMAKE_MINREQVER_UNSUPPORTED} ]] && 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 )
|
cmakeargs+=( -DCMAKE_POLICY_VERSION_MINIMUM=3.5 )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -852,7 +991,7 @@ cmake_src_install() {
|
|||||||
while read -d '' -r file ; do
|
while read -d '' -r file ; do
|
||||||
# Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set
|
# Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set
|
||||||
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
|
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
|
||||||
_cmake_minreqver-lt "3.5" "${file}" && files+=( "${file#"${D}"}" )
|
_cmake_minreqver-check "3.5" "${file}" && files+=( "${file#"${D}"}" )
|
||||||
fi
|
fi
|
||||||
done < <(find "${D}" -type f -iname "*.cmake" -print0 || die)
|
done < <(find "${D}" -type f -iname "*.cmake" -print0 || die)
|
||||||
if [[ ${#files[*]} -gt 0 ]]; then
|
if [[ ${#files[*]} -gt 0 ]]; then
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user