INCLUDE (CheckIncludeFiles)
INCLUDE (CheckFunctionExists)

CHECK_INCLUDE_FILES (security/pam_ext.h  HAVE_PAM_EXT_H)
CHECK_INCLUDE_FILES (security/pam_appl.h HAVE_PAM_APPL_H)
CHECK_FUNCTION_EXISTS (strndup HAVE_STRNDUP)

SET(CMAKE_REQUIRED_LIBRARIES pam)
CHECK_FUNCTION_EXISTS(pam_syslog HAVE_PAM_SYSLOG)
SET(CMAKE_REQUIRED_LIBRARIES)

IF(HAVE_PAM_SYSLOG)
  ADD_DEFINITIONS(-DHAVE_PAM_SYSLOG)
ENDIF()

IF(HAVE_PAM_EXT_H)
  ADD_DEFINITIONS(-DHAVE_PAM_EXT_H)
ENDIF()

IF(HAVE_PAM_APPL_H)
  ADD_DEFINITIONS(-DHAVE_PAM_APPL_H)
  IF(HAVE_STRNDUP)
    ADD_DEFINITIONS(-DHAVE_STRNDUP)
  ENDIF(HAVE_STRNDUP)
  FIND_LIBRARY(PAM_LIBRARY pam) # for srpm build-depends detection
  MYSQL_ADD_PLUGIN(auth_pam auth_pam.c LINK_LIBRARIES pam MODULE_ONLY)

  IF(TARGET auth_pam)
    ADD_LIBRARY(pam_user_map MODULE mapper/pam_user_map.c)
    TARGET_LINK_LIBRARIES(pam_user_map pam)
    SET_TARGET_PROPERTIES (pam_user_map PROPERTIES PREFIX "")
    IF(INSTALL_PAMDIR)
      INSTALL(TARGETS pam_user_map DESTINATION ${INSTALL_PAMDIR} COMPONENT Server)
      INSTALL(FILES mapper/user_map.conf DESTINATION ${INSTALL_PAMDATADIR} COMPONENT Server)
    ENDIF()
  ENDIF()
ENDIF(HAVE_PAM_APPL_H)

