diff options
author | Pino Toscano <pino@kde.org> | 2006-03-21 23:32:31 +0000 |
---|---|---|
committer | Pino Toscano <pino@kde.org> | 2006-03-21 23:32:31 +0000 |
commit | 6059e6c2471477fccf24d5054f9f62b71672345b (patch) | |
tree | 596612bba80f544257b1b214b7a71be47588c375 | |
parent | a3b02d20e895f32771ebde746d4d40b9677bcd38 (diff) | |
download | extra-cmake-modules-6059e6c2471477fccf24d5054f9f62b71672345b.tar.gz extra-cmake-modules-6059e6c2471477fccf24d5054f9f62b71672345b.tar.bz2 |
Preliminary module for the GSSAPI configuration.
It seems to work nicely, altough some thing are still missing.
svn path=/trunk/KDE/kdelibs/; revision=521231
-rw-r--r-- | modules/FindGSSAPI.cmake | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/FindGSSAPI.cmake b/modules/FindGSSAPI.cmake new file mode 100644 index 00000000..f574602e --- /dev/null +++ b/modules/FindGSSAPI.cmake @@ -0,0 +1,48 @@ +# - Try to detect the GSSAPI support +# Once done this will define +# +# GSSAPI_FOUND - system supports GSSAPI +# GSSAPI_INCS - the CSSAPI include directory +# GSSAPI_LIBS - the libraries needed to use GSSAPI +# GSSAPI_RPATH - the rpath for GSSAPI + +# TODO: RPATH + +FIND_PROGRAM(KRB5_CONFIG NAMES krb5-config PATHS + /usr/bin + /usr/local/bin + /opt/local/bin +) + +#reset vars +set(GSSAPI_INCS) +set(GSSAPI_LIBS) +set(GSSAPI_FLAVOR) + +IF(KRB5_CONFIG) + + EXEC_PROGRAM(${KRB5_CONFIG} ARGS --libs gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_LIBS) + + EXEC_PROGRAM(${KRB5_CONFIG} ARGS --cflags gssapi RETURN_VALUE _return_VALUE OUTPUT_VARIABLE GSSAPI_INCS) + STRING(REGEX REPLACE "(\r?\n)+$" "" GSSAPI_INCS "${GSSAPI_INCS}") + + EXEC_PROGRAM(${KRB5_CONFIG} ARGS --vendor RETURN_VALUE _return_VALUE OUTPUT_VARIABLE gssapi_flavor_tmp) + set(GSSAPI_FLAVOR_MIT) + IF(gssapi_flavor_tmp MATCHES ".*Massachusetts.*") + SET(GSSAPI_FLAVOR "MIT") + ELSE(gssapi_flavor_tmp MATCHES ".*Massachusetts.*") + SET(GSSAPI_FLAVOR "HEIMDAL") + ENDIF(gssapi_flavor_tmp MATCHES ".*Massachusetts.*") + + 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}") + ENDIF(GSSAPI_LIBS) + +#ELSE(KRB5_CONFIG) + +# TODO... + +ENDIF(KRB5_CONFIG) + +MARK_AS_ADVANCED(GSSAPI_INCS GSSAPI_LIBS GSSAPI_FLAVOR) |