aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindGSSAPI.cmake15
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}")