diff options
| -rw-r--r-- | modules/FindGSSAPI.cmake | 15 | 
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/FindGSSAPI.cmake b/modules/FindGSSAPI.cmake index 64182fdc..36dffc85 100644 --- a/modules/FindGSSAPI.cmake +++ b/modules/FindGSSAPI.cmake @@ -30,7 +30,12 @@ ELSE(GSSAPI_LIBS AND GSSAPI_FLAVOR)    IF(KRB5_CONFIG) +    SET(HAVE_KRB5_GSSAPI TRUE)      EXEC_PROGRAM(${KRB5_CONFIG} ARGS --libs gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_LIBS) +    IF(_return_VALUE) +      MESSAGE(STATUS "GSSAPI configure check failed.") +      SET(HAVE_KRB5_GSSAPI FALSE) +    ENDIF(_return_VALUE)      EXEC_PROGRAM(${KRB5_CONFIG} ARGS --cflags gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_INCS)      string(REGEX REPLACE "(\r?\n)+$" "" GSSAPI_INCS "${GSSAPI_INCS}") @@ -44,6 +49,16 @@ ELSE(GSSAPI_LIBS AND GSSAPI_FLAVOR)        SET(GSSAPI_FLAVOR "HEIMDAL")      ENDIF(gssapi_flavor_tmp MATCHES ".*Massachusetts.*") +    IF(NOT HAVE_KRB5_GSSAPI) +      IF (gssapi_flavor_tmp MATCHES "Sun Microsystems.*") +	MESSAGE(STATUS "Solaris Kerberos does not have GSSAPI; this is normal.") +	SET(GSSAPI_LIBS) +	SET(GSSAPI_INCS) +      ELSE(gssapi_flavor_tmp MATCHES "Sun Microsystems.*") +	MESSAGE(WARNING "${KRB5_CONFIG} failed unexpectedly.") +      ENDIF(gssapi_flavor_tmp MATCHES "Sun Microsystems.*") +    ENDIF(NOT HAVE_KRB5_GSSAPI) +      IF(GSSAPI_LIBS) # GSSAPI_INCS can be also empty, so don't rely on that        SET(GSSAPI_FOUND TRUE)        message(STATUS "Found GSSAPI: ${GSSAPI_LIBS}")  | 
