Author: brane Date: Fri May 30 13:32:49 2025 New Revision: 1925982 URL: http://svn.apache.org/viewvc?rev=1925982&view=rev Log: * build/FindGSSAPI.cmake: Shorten the version name from krb5-config.
Modified: serf/trunk/build/FindGSSAPI.cmake Modified: serf/trunk/build/FindGSSAPI.cmake URL: http://svn.apache.org/viewvc/serf/trunk/build/FindGSSAPI.cmake?rev=1925982&r1=1925981&r2=1925982&view=diff ============================================================================== --- serf/trunk/build/FindGSSAPI.cmake (original) +++ serf/trunk/build/FindGSSAPI.cmake Fri May 30 13:32:49 2025 @@ -34,23 +34,36 @@ if("${KRB5_CONFIG_EXECUTABLE}" STREQUAL message(STATUS "Could NOT find GSSAPI (missing: krb5-config)") else() function(_krb5_config _varname _dedup) - execute_process(COMMAND ${KRB5_CONFIG_EXECUTABLE} ${ARGN} "gssapi" + execute_process(COMMAND "${KRB5_CONFIG_EXECUTABLE}" ${ARGN} "gssapi" OUTPUT_VARIABLE output RESULT_VARIABLE failed) if(failed) message(FATAL_ERROR "failed: ${KRB5_CONFIG_EXECUTABLE} ${ARGN} gssapi") endif() string(STRIP "${output}" output) + separate_arguments(output) if(_dedup) - separate_arguments(output) list(REMOVE_DUPLICATES output) endif() set(${_varname} ${output} PARENT_SCOPE) endfunction(_krb5_config) + _krb5_config(GSSAPI_VERSION FALSE --version) _krb5_config(GSSAPI_INCLUDES TRUE --cflags) _krb5_config(GSSAPI_LIBRARIES TRUE --libs) - _krb5_config(GSSAPI_VERSION FALSE --version) + + # The version "number" should look like "Kerberos N release X.Y.Z", + # try to extract those numbers first. + list(LENGTH GSSAPI_VERSION len) + if(${len} EQUAL 4) + # Use the second and fourth elements + list(GET GSSAPI_VERSION 1 krb) + list(GET GSSAPI_VERSION 3 rel) + set(GSSAPI_VERSION "${krb}:${rel}") + else() + # It's some other format, join it back + list(JOIN GSSAPI_VERSION " " GSSAPI_VERSION) + endif() # Filter everything but include paths from --cflags list(FILTER GSSAPI_INCLUDES INCLUDE REGEX "^-I") @@ -79,8 +92,8 @@ else() endif() include(FindPackageHandleStandardArgs) - list(LENGTH GSSAPI_INCLUDES _inc_len) - if(${_inc_len} EQUAL 0) + list(LENGTH GSSAPI_INCLUDES len) + if(${len} EQUAL 0) # When using default include locations, GSSAPI_INCLUDES may be empty. find_package_handle_standard_args(GSSAPI REQUIRED_VARS GSSAPI_LIBRARIES