Author: brane Date: Sun Jun 8 17:07:40 2025 New Revision: 1926254 URL: http://svn.apache.org/viewvc?rev=1926254&view=rev Log: Simplify the CMake build by no longer treating the *_ROOT variables as special cases. Instead, rely on CMake's find_package default behaviour. Use the paths defined by GNUInstallDirs everywhere, even in Windows-specific bits.
* build/FindAPR.cmake: Include GNUInstallDirs. (_apru_find_win_version): New, replaces _apru_version and open-coded bits. (_apru_find_win_dll): Renamed, modified from _apru_find_dll. (_apru_find_win_lib): New. (APR_ROOT): If defined, just convert it to a real absolute path. * build/FindAPRUtil.cmake (APRUtil_FOUND): Renamed from APRUTIL_FOUND, for consistency with the name of the package (implied in Find*APRUtil*.cmake). (APR::APRUtil): Renamed from APR::APRUTIL. (APR::APRUtil_static): Likewise renamed from APR::APRUTIL_static. * build/FindBrotli.cmake: As above, no special-casing for Brotli_ROOT. * build/FindGSSAPI.cmake: Likewise. * CMakeLists.txt: Use the renamed APR::APRUtil targets. Modified: serf/trunk/CMakeLists.txt serf/trunk/build/FindAPR.cmake serf/trunk/build/FindAPRUtil.cmake serf/trunk/build/FindBrotli.cmake serf/trunk/build/FindGSSAPI.cmake Modified: serf/trunk/CMakeLists.txt URL: http://svn.apache.org/viewvc/serf/trunk/CMakeLists.txt?rev=1926254&r1=1926253&r2=1926254&view=diff ============================================================================== --- serf/trunk/CMakeLists.txt (original) +++ serf/trunk/CMakeLists.txt Sun Jun 8 17:07:40 2025 @@ -263,7 +263,7 @@ if(APR_STATIC) if(SERF_WINDOWS) list(APPEND SERF_PUBLIC_TARGETS APR::APR_static) if(NOT APR_CONTAINS_APRUTIL) - list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL_static) + list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil_static) endif() else(SERF_WINDOWS) message(WARNING "option APR_STATIC is not implemented on this platform") @@ -271,7 +271,7 @@ if(APR_STATIC) else(APR_STATIC) list(APPEND SERF_PUBLIC_TARGETS APR::APR) if(NOT APR_CONTAINS_APRUTIL) - list(APPEND SERF_PUBLIC_TARGETS APR::APRUTIL) + list(APPEND SERF_PUBLIC_TARGETS APR::APRUtil) endif() endif(APR_STATIC) Modified: serf/trunk/build/FindAPR.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindAPR.cmake?rev=1926254&r1=1926253&r2=1926254&view=diff ============================================================================== --- serf/trunk/build/FindAPR.cmake (original) +++ serf/trunk/build/FindAPR.cmake Sun Jun 8 17:07:40 2025 @@ -60,9 +60,11 @@ cmake_minimum_required(VERSION 3.12) # ------------------------------------------------------------------- -# Common utility functions for FindAPR.cmaks and FindAPRtil.cmake +# Common utility functions for FindAPR.cmake and FindAPRtil.cmake # ------------------------------------------------------------------- +include(GNUInstallDirs) + # Run the APR/Util configuration program function(_apru_config _program _varname _regexp) execute_process(COMMAND ${_program} ${ARGN} @@ -87,28 +89,58 @@ function(_apru_config _program _varname endif() endfunction(_apru_config) -# Parse the APR/Util version number from the header -function(_apru_version _version_varname _major_varname _minor_varname _header _prefix) - file(STRINGS ${_header} _apru_major +# Windows: Find the APR/Util include dir and version number. +function(_apru_find_win_version _header_basename + _include_varname _version_varname _major_varname _minor_varname) + find_path(${_include_varname} "${_header_basename}.h" + PATH_SUFFIXES + "include" + "${CMAKE_INSTALL_INCLUDEDIR}" + "include/apr-2" + "${CMAKE_INSTALL_INCLUDEDIR}/apr-2" + "include/apr-1" + "${CMAKE_INSTALL_INCLUDEDIR}/apr-1") + mark_as_advanced(${_include_varname}) + + set(_header "${_header_basename}_version.h") + if(NOT EXISTS "${${_include_varname}}/${_header}") + message(FATAL_ERROR "${_header} was not found in ${${_include_varname}}") + endif() + + string(TOUPPER "${_header_basename}" _prefix) + set(_header "${${_include_varname}}/${_header}") + file(STRINGS "${_header}" _apru_major REGEX "^ *# *define +${_prefix}_MAJOR_VERSION +[0-9]+.*$") - file(STRINGS ${_header} _apru_minor + file(STRINGS "${_header}" _apru_minor REGEX "^ *# *define +${_prefix}_MINOR_VERSION +[0-9]+.*$") - file(STRINGS ${_header} _apru_patch + file(STRINGS "${_header}" _apru_patch REGEX "^ *# *define +${_prefix}_PATCH_VERSION +[0-9]+.*$") string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_major ${_apru_major}) string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_minor ${_apru_minor}) string(REGEX REPLACE "^[^0-9]+([0-9]+).*$" "\\1" _apru_patch ${_apru_patch}) + set(${_version_varname} "${_apru_major}.${_apru_minor}.${_apru_patch}" PARENT_SCOPE) set(${_major_varname} ${_apru_major} PARENT_SCOPE) set(${_minor_varname} ${_apru_minor} PARENT_SCOPE) -endfunction(_apru_version) +endfunction(_apru_find_win_version) # Windows: Find the DLL (runtime) library -function(_apru_find_dll _varname _dllname) +function(_apru_find_win_dll _varname _dllname) + set(CMAKE_FIND_LIBRARY_PREFIXES "") set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") - find_library(${_varname} NAMES ${_dllname} - PATHS ${ARGN} NO_DEFAULT_PATH PATH_SUFFIXES "bin" "lib") -endfunction(_apru_find_dll) + find_library(${_varname} NAMES "${_dllname}" + PATH_SUFFIXES + "bin" "${CMAKE_INSTALL_BINDIR}" + "lib" "${CMAKE_INSTALL_LIBDIR}") +endfunction(_apru_find_win_dll) + +# Windows: Find static and import libraries +function(_apru_find_win_lib _varname _libname) + set(CMAKE_FIND_LIBRARY_PREFIXES "") + set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") + find_library(${_varname} NAMES "${_libname}" + PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}") +endfunction(_apru_find_win_lib) # Extract the main and extra static libraries function(_apru_extras _static_var _extra_var) @@ -159,57 +191,38 @@ function(_apru_location _location_var _e if(NOT _dir) find_library(${_location_var} NAMES "${_lib}") else() - find_library(${_location_var} NAMES "${_lib}" PATHS "${_dir}" NO_DEFAULT_PATH) + find_library(${_location_var} NAMES "${_lib}" + PATHS "${_dir}" NO_DEFAULT_PATH) endif() set(${_extralibs_var} ${_extra} PARENT_SCOPE) endfunction(_apru_location) + +# ------------------------------------------------------------------- +# The actual FindAPR implementation # ------------------------------------------------------------------- if(NOT _apru_include_only_utilities) set(APR_FOUND FALSE) + if(DEFINED APR_ROOT) + get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH) + endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - if(DEFINED APR_ROOT) - get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH) - else() - message(FATAL_ERROR "APR_ROOT must be defined on Windows") - endif() - - include(CheckIncludeFile) - - find_path(APR_INCLUDES "apr.h" - PATHS "${APR_ROOT}/include" - PATH_SUFFIXES "apr-2" "apr-1" - NO_DEFAULT_PATH) - if(NOT APR_INCLUDES) - message(FATAL_ERROR "apr.h was not found in ${APR_ROOT}") - endif() - - if(NOT EXISTS "${APR_INCLUDES}/apr_version.h") - message(FATAL_ERROR "apr_version.h was not found in ${APR_INCLUDES}") - endif() - - _apru_version(APR_VERSION _apr_major _apr_minor "${APR_INCLUDES}/apr_version.h" "APR") + _apru_find_win_version("apr" APR_INCLUDES + APR_VERSION _apr_major _apr_minor) set(_apr_name "apr-${_apr_major}") - find_library(APR_LIBRARIES NAMES "lib${_apr_name}.lib" - PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib") - find_library(APR_STATIC_LIBS NAMES "${_apr_name}.lib" - PATHS ${APR_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib") - _apru_find_dll(APR_RUNTIME_LIBS "lib${_apr_name}.dll" ${APR_ROOT}) + _apru_find_win_lib(APR_LIBRARIES "lib${_apr_name}") + _apru_find_win_lib(APR_STATIC_LIBS "${_apr_name}") + _apru_find_win_dll(APR_RUNTIME_LIBS "lib${_apr_name}") else() # NOT Windows - if(DEFINED APR_ROOT) - get_filename_component(APR_ROOT "${APR_ROOT}" REALPATH) - find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config - PATHS "${APR_ROOT}/bin" NO_DEFAULT_PATH) - else() - find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config) - endif() + find_program(APR_CONFIG_EXECUTABLE NAMES apr-2-config apr-1-config + PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}") mark_as_advanced(APR_CONFIG_EXECUTABLE) macro(_apr_invoke _varname _regexp) @@ -233,9 +246,10 @@ if(NOT _apru_include_only_utilities) endif() include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(APR - REQUIRED_VARS APR_LIBRARIES APR_INCLUDES - VERSION_VAR APR_VERSION) + find_package_handle_standard_args( + APR + REQUIRED_VARS APR_LIBRARIES APR_INCLUDES + VERSION_VAR APR_VERSION) if(APR_FOUND) if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") Modified: serf/trunk/build/FindAPRUtil.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindAPRUtil.cmake?rev=1926254&r1=1926253&r2=1926254&view=diff ============================================================================== --- serf/trunk/build/FindAPRUtil.cmake (original) +++ serf/trunk/build/FindAPRUtil.cmake Sun Jun 8 17:07:40 2025 @@ -39,7 +39,7 @@ cmake_minimum_required(VERSION 3.12) # # :: # -# APRUTIL_FOUND - True if APR-Util was found +# APRUtil_FOUND - True if APR-Util was found # APRUTIL_VERSION - The version of APR-Util found (x.y.z) # APRUTIL_INCLUDES - Where to find apr.h, etc. # APRUTIL_LIBRARIES - Linker switches to use with ld to link against APR @@ -61,7 +61,7 @@ if(NOT APR_FOUND) find_package(APR REQUIRED) endif() -set(APRUTIL_FOUND FALSE) +set(APRUtil_FOUND FALSE) if(APR_CONTAINS_APRUTIL) @@ -77,44 +77,27 @@ else(APR_CONTAINS_APRUTIL) include(${CMAKE_CURRENT_LIST_DIR}/FindAPR.cmake) unset(_apru_include_only_utilities) - if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - - if(DEFINED APRUtil_ROOT) - get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH) - else() - message(FATAL_ERROR "APRUtil_ROOT must be defined on Windows") - endif() - - include(CheckIncludeFile) - - find_path(APRUTIL_INCLUDES "apu.h" - PATHS "${APRUtil_ROOT}/include" - PATH_SUFFIXES "apr-1" - NO_DEFAULT_PATH) - if(NOT APRUTIL_INCLUDES) - message(FATAL_ERROR "apu.h was not found in ${APRUtil_ROOT}") - endif() + if(DEFINED APRUtil_ROOT) + get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH) + endif() - if(NOT EXISTS "${APRUTIL_INCLUDES}/apu_version.h") - message(FATAL_ERROR "apu_version.h was not found in ${APRUTIL_INCLUDES}") - endif() + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - _apru_version(APRUTIL_VERSION _apu_major _apu_minor "${APRUTIL_INCLUDES}/apu_version.h" "APU") + _apru_find_win_version("apu" APRUTIL_INCLUDES + APRUTIL_VERSION _apu_major _apu_minor) set(_apu_name "aprutil-${_apu_major}") - if(${_apu_major} GREATER 1 OR (${_apu_major} EQUAL 1 AND ${_apu_minor} GREATER 5)) - set(_apu_expat_name "expat.lib") + if(${_apu_major} GREATER 1 + OR (${_apu_major} EQUAL 1 AND ${_apu_minor} GREATER 5)) + set(_apu_expat_name "expat") else() - set(_apu_expat_name "xml.lib") + set(_apu_expat_name "xml") endif() - find_library(APRUTIL_LIBRARIES NAMES "lib${_apu_name}.lib" - PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib") - find_library(_apu_static NAMES "${_apu_name}.lib" - PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib") - find_library(_apu_expat NAMES ${_apu_expat_name} - PATHS ${APRUtil_ROOT} NO_DEFAULT_PATH PATH_SUFFIXES "lib") - _apru_find_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}.dll" ${APRUtil_ROOT}) + _apru_find_win_lib(APRUTIL_LIBRARIES "lib${_apu_name}") + _apru_find_win_lib(_apu_static NAMES "${_apu_name}") + _apru_find_win_lib(_apu_expat NAMES ${_apu_expat_name}) + _apru_find_win_dll(APRUTIL_RUNTIME_LIBS "lib${_apu_name}") if(NOT _apu_expat AND (_apu_expat_name MATCHES "expat")) find_package(EXPAT QUIET) @@ -123,7 +106,7 @@ else(APR_CONTAINS_APRUTIL) endif() endif() if(NOT _apu_expat) - message(WARNING "Could not find ${_apu_expat_name}" + message(WARNING "Could not find ${_apu_expat_name}.lib" " for APR-Util static linking.") endif() set(APRUTIL_STATIC_LIBS ${_apu_static} ${_apu_expat} @@ -131,13 +114,8 @@ else(APR_CONTAINS_APRUTIL) else() # NOT Windows - if(DEFINED APRUtil_ROOT) - get_filename_component(APRUtil_ROOT "${APRUtil_ROOT}" REALPATH) - find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config - PATHS "${APRUtil_ROOT}/bin" NO_DEFAULT_PATH) - else() - find_program(APRUTIL_CONFIG_EXECUTABLE apu-1-config) - endif() + find_program(APRUTIL_CONFIG_EXECUTABLE NAMES apu-1-config + PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}") mark_as_advanced(APRUTIL_CONFIG_EXECUTABLE) macro(_apu_invoke _varname _regexp) @@ -153,21 +131,22 @@ else(APR_CONTAINS_APRUTIL) endif() # NOT Windows include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(APRUtil - REQUIRED_VARS APRUTIL_LIBRARIES APRUTIL_INCLUDES - VERSION_VAR APRUTIL_VERSION) + find_package_handle_standard_args( + APRUtil + REQUIRED_VARS APRUTIL_LIBRARIES APRUTIL_INCLUDES + VERSION_VAR APRUTIL_VERSION) - if(APRUTIL_FOUND) + if(APRUtil_FOUND) if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") if(APRUTIL_LIBRARIES AND APRUTIL_RUNTIME_LIBS) - add_library(APR::APRUTIL SHARED IMPORTED) - set_target_properties(APR::APRUTIL PROPERTIES + add_library(APR::APRUtil SHARED IMPORTED) + set_target_properties(APR::APRUtil PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}" IMPORTED_LOCATION "${APRUTIL_RUNTIME_LIBS}" IMPORTED_IMPLIB "${APRUTIL_LIBRARIES}") if(TARGET APR::APR) - target_link_libraries(APR::APRUTIL + target_link_libraries(APR::APRUtil INTERFACE APR::APR) endif() endif() @@ -177,25 +156,25 @@ else(APR_CONTAINS_APRUTIL) if(TARGET APR::APR_static) list(APPEND _apu_extra APR::APR_static) endif() - add_library(APR::APRUTIL_static STATIC IMPORTED) - set_target_properties(APR::APRUTIL_static PROPERTIES + add_library(APR::APRUtil_static STATIC IMPORTED) + set_target_properties(APR::APRUtil_static PROPERTIES INTERFACE_COMPILE_DEFINITIONS "APU_DECLARE_STATIC" INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}" IMPORTED_LOCATION "${_apu_static}") - target_link_libraries(APR::APRUTIL_static + target_link_libraries(APR::APRUtil_static INTERFACE ${_apu_extra}) endif() else() # NOT Windows _apru_location(_apu_library _apu_extra "${APRUTIL_LIBRARIES}") - add_library(APR::APRUTIL UNKNOWN IMPORTED) - set_target_properties(APR::APRUTIL PROPERTIES + add_library(APR::APRUtil UNKNOWN IMPORTED) + set_target_properties(APR::APRUtil PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${APRUTIL_INCLUDES}" IMPORTED_LOCATION "${_apu_library}") - target_link_libraries(APR::APRUTIL + target_link_libraries(APR::APRUtil INTERFACE ${APRUTIL_LDFLAGS};${APRUTIL_EXTRALIBS};${_apu_extra}) endif() # NOT Windows - endif(APRUTIL_FOUND) + endif(APRUtil_FOUND) endif(APR_CONTAINS_APRUTIL) Modified: serf/trunk/build/FindBrotli.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindBrotli.cmake?rev=1926254&r1=1926253&r2=1926254&view=diff ============================================================================== --- serf/trunk/build/FindBrotli.cmake (original) +++ serf/trunk/build/FindBrotli.cmake Sun Jun 8 17:07:40 2025 @@ -23,18 +23,10 @@ include(GNUInstallDirs) set(Brotli_FOUND FALSE) function(_get_brotli_version) - if(DEFINED Brotli_ROOT) - get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH) - find_program(brotli NAMES "brotli" - PATHS - "${Brotli_ROOT}/bin" - "${Brotli_ROOT}/${CMAKE_INSTALL_BINDIR}" - NO_DEFAULT_PATH) - else() - find_program(brotli NAMES "brotli") - endif() + find_program(brotli NAMES "brotli" + PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}") - if(NOT "${brotli}" STREQUAL "brotli-NOTFOUND") + if(NOT "${brotli}" MATCHES "-NOTFOUND") execute_process(COMMAND "${brotli}" "--version" OUTPUT_VARIABLE output RESULT_VARIABLE failed) @@ -49,42 +41,28 @@ function(_get_brotli_version) endfunction(_get_brotli_version) function(_get_brotli_includes_libs) - if(DEFINED Brotli_ROOT) - find_path(includes "decode.h" - PATHS "${Brotli_ROOT}" - PATH_SUFFIXES - "include/brotli" - "${CMAKE_INSTALL_INCLUDEDIR}/brotli}" - NO_DEFAULT_PATH) - get_filename_component(includes "${includes}" DIRECTORY) - find_library(common_lib "brotlicommon" - PATHS "${Brotli_ROOT}" - PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}" - NO_DEFAULT_PATH) - find_library(decode_lib "brotlidec" - PATHS "${Brotli_ROOT}" - PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}" - NO_DEFAULT_PATH) - find_library(encode_lib "brotlienc" - PATHS "${Brotli_ROOT}" - PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}" - NO_DEFAULT_PATH) - else() - find_path(includes "decode.h" - PATH_SUFFIXES - "include/brotli" - "${CMAKE_INSTALL_INCLUDEDIR}/brotli}") - get_filename_component(includes "${includes}" DIRECTORY) - find_library(common_lib "brotlicommon") - find_library(decode_lib "brotlidec") - find_library(encode_lib "brotlienc") - endif() + find_path(includes "decode.h" + PATH_SUFFIXES + "include/brotli" + "${CMAKE_INSTALL_INCLUDEDIR}/brotli}") + get_filename_component(includes "${includes}" DIRECTORY) + find_library(common_lib NAMES "brotlicommon" + PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}") + find_library(decode_lib NAMES "brotlidec" + PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}") + find_library(encode_lib NAMES "brotlienc" + PATH_SUFFIXES "lib" "${CMAKE_INSTALL_LIBDIR}") + set(BROTLI_INCLUDES "${includes}" PARENT_SCOPE) set(BROTLI_COMMON_LIBRARY "${common_lib}" PARENT_SCOPE) set(BROTLI_DECODE_LIBRARY "${decode_lib}" PARENT_SCOPE) set(BROTLI_ENCODE_LIBRARY "${encode_lib}" PARENT_SCOPE) endfunction(_get_brotli_includes_libs) +if(DEFINED Brotli_ROOT) + get_filename_component(Brotli_ROOT "${Brotli_ROOT}" REALPATH) +endif() + _get_brotli_version() _get_brotli_includes_libs() if(NOT EXISTS "${BROTLI_INCLUDES}/brotli/decode.h" Modified: serf/trunk/build/FindGSSAPI.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindGSSAPI.cmake?rev=1926254&r1=1926253&r2=1926254&view=diff ============================================================================== --- serf/trunk/build/FindGSSAPI.cmake (original) +++ serf/trunk/build/FindGSSAPI.cmake Sun Jun 8 17:07:40 2025 @@ -23,14 +23,13 @@ set(GSSAPI_FOUND FALSE) if(DEFINED GSSAPI_ROOT) get_filename_component(GSSAPI_ROOT "${GSSAPI_ROOT}" REALPATH) - find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config" - PATHS "${GSSAPI_ROOT}/bin" NO_DEFAULT_PATH) -else() - find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config") endif() + +find_program(KRB5_CONFIG_EXECUTABLE NAMES "krb5-config" + PATH_SUFFIXES "bin" "${CMAKE_INSTALL_BINDIR}") mark_as_advanced(KRB5_CONFIG_EXECUTABLE) -if("${KRB5_CONFIG_EXECUTABLE}" STREQUAL "KRB5_CONFIG_EXECUTABLE-NOTFOUND") +if("${KRB5_CONFIG_EXECUTABLE}" MATCHES "-NOTFOUND") message(STATUS "Could NOT find GSSAPI (missing: krb5-config)") else() function(_krb5_config _varname _dedup)