[cmake,krb5] fix redetection of kerberos

This commit is contained in:
akallabeth
2025-05-16 10:48:20 +02:00
parent 8c2be5fd53
commit abbc6ba37f

View File

@@ -150,17 +150,26 @@ endfunction()
# * Then try to find krb5-config (generic, krb5-config.mit and last krb5-config.heimdal)
find_package(PkgConfig REQUIRED)
unset(KRB5_MIT_FOUND CACHE)
unset(KRB5_HEIMDAL_FOUND CACHE)
unset(KRB5_ANY_FOUND CACHE)
unset(KRB5_FOUND CACHE)
unset(KRB5_VERSION CACHE)
unset(KRB5_FLAVOUR CACHE)
if(KRB5_ROOT_CONFIG)
elseif(KRB5_ROOT_FLAVOUR)
message("krb5: searching with preference for [${KRB5_ROOT_FLAVOUR}]...")
if(KRB5_ROOT_FLAVOUR STREQUAL "Heimdal")
pkg_check_modules(KRB5_HEIMDAL heimdal-krb5)
pkg_check_modules(KRB5_HEIMDAL heimdal-krb5 REQUIRED)
elseif(KRB5_ROOT_FLAVOUR STREQUAL "MIT")
pkg_check_modules(KRB5_HEIMDAL mit-krb5)
pkg_check_modules(KRB5_MIT mit-krb5 REQUIRED)
else()
message(FATAL_ERROR "Invalid KRB5_ROOT_FLAVOUR=${KRB5_ROOT_FLAVOUR}, only 'MIT' or 'Heimdal' are supported")
endif()
else()
message("krb5: searching without preference...")
pkg_check_modules(KRB5_MIT mit-krb5)
pkg_check_modules(KRB5_HEIMDAL heimdal-krb5)
endif()