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