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}") |