diff options
Diffstat (limited to 'cmake/FindGSSAPI.cmake')
-rw-r--r-- | cmake/FindGSSAPI.cmake | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/cmake/FindGSSAPI.cmake b/cmake/FindGSSAPI.cmake new file mode 100644 index 0000000000..6f22929b6c --- /dev/null +++ b/cmake/FindGSSAPI.cmake @@ -0,0 +1,39 @@ +find_package(PkgConfig) +pkg_check_modules(PC_GSSAPI QUIET krb5-gssapi) + +find_path(GSSAPI_INCLUDE_DIRS + NAMES gssapi/gssapi.h + HINTS ${PC_GSSAPI_INCLUDEDIR} + PATH_SUFFIXES gssapi) + +find_library(GSSAPI_LIBRARIES + NAMES + GSS # framework + gssapi_krb5 + HINTS ${PC_GSSAPILIBDIR} +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GSSAPI DEFAULT_MSG GSSAPI_LIBRARIES GSSAPI_INCLUDE_DIRS) + +if(GSSAPI_FOUND AND NOT TARGET GSSAPI::GSSAPI) + if(GSSAPI_LIBRARIES MATCHES "/([^/]+)\\.framework$") + add_library(GSSAPI::GSSAPI INTERFACE IMPORTED) + set_target_properties(GSSAPI::GSSAPI PROPERTIES + INTERFACE_LINK_LIBRARIES "${GSSAPI_LIBRARIES}") + else() + add_library(GSSAPI::GSSAPI UNKNOWN IMPORTED) + set_target_properties(GSSAPI::GSSAPI PROPERTIES + IMPORTED_LOCATION "${GSSAPI_LIBRARIES}") + endif() + + set_target_properties(GSSAPI::GSSAPI PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${GSSAPI_INCLUDE_DIRS}") +endif() + +mark_as_advanced(GSSAPI_INCLUDE_DIRS GSSAPI_LIBRARIES) + +include(FeatureSummary) +set_package_properties(GSSAPI PROPERTIES + DESCRIPTION "Generic Security Services Application Program Interface") + |