From 309489594344554c085f9bedb8a0b0b1cfcd0d0f Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sat, 9 Jul 2022 10:40:13 +0200 Subject: ecm.eclass: Support single dependency ecm_punt_bogus_dep call Bringing back usefulness outside of KF5/Qt5 calls with multiple components. Signed-off-by: Andreas Sturmlechner --- eclass/ecm.eclass | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'eclass/ecm.eclass') diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 09916c44dbd..5a5b94d3499 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -362,19 +362,32 @@ ecm_punt_qt_module() { } # @FUNCTION: ecm_punt_bogus_dep -# @USAGE: +# @USAGE: or # @DESCRIPTION: -# Removes a specified dependency from a find_package call with multiple -# components. +# Removes a specified dependency from a find_package call, optionally +# supports prefix for find_package with multiple components. ecm_punt_bogus_dep() { - local prefix=${1} - local dep=${2} + + if [[ "$#" == 2 ]] ; then + local prefix=${1} + local dep=${2} + elif [[ "$#" == 1 ]] ; then + local dep=${1} + else + die "${FUNCNAME[0]} must be passed either one or two arguments" + fi if [[ ! -e "CMakeLists.txt" ]]; then return fi - pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" + if [[ -z ${prefix} ]]; then + sed -e "/find_package\s*(\s*${dep}\(\s\+\(REQUIRED\|CONFIG\|COMPONENTS\|\${[A-Z0-9_]*}\)\)\+\s*)/Is/^/# removed by ecm.eclass - /" \ + -i CMakeLists.txt || die + return + else + pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" + fi # pcregrep returns non-zero on no matches/error if [[ $? -ne 0 ]] ; then -- cgit v1.2.3