Warning, /plasma/kscreenlocker/cmake/UnixAuth.cmake is written in an unsupported language. File is not indexed.
0001 find_package(PAM) 0002 0003 include(CheckFunctionExists) 0004 include(CheckLibraryExists) 0005 include(CheckIncludeFiles) 0006 include(CMakePushCheckState) 0007 0008 set(UNIXAUTH_LIBRARIES) 0009 set(UNIXAUTH_INCLUDE_DIRS) 0010 0011 set(SHADOW_LIBRARIES) 0012 check_function_exists(getspnam found_getspnam) 0013 if (found_getspnam) 0014 set(HAVE_GETSPNAM 1) 0015 else (found_getspnam) 0016 cmake_push_check_state() 0017 set(CMAKE_REQUIRED_LIBRARIES -lshadow) 0018 check_function_exists(getspnam found_getspnam_shadow) 0019 if (found_getspnam_shadow) 0020 set(HAVE_GETSPNAM 1) 0021 set(SHADOW_LIBRARIES shadow) 0022 check_function_exists(pw_encrypt HAVE_PW_ENCRYPT) # ancient Linux shadow 0023 else (found_getspnam_shadow) 0024 set(CMAKE_REQUIRED_LIBRARIES -lgen) # UnixWare 0025 check_function_exists(getspnam found_getspnam_gen) 0026 if (found_getspnam_gen) 0027 set(HAVE_GETSPNAM 1) 0028 set(SHADOW_LIBRARIES gen) 0029 endif (found_getspnam_gen) 0030 endif (found_getspnam_shadow) 0031 cmake_pop_check_state() 0032 endif (found_getspnam) 0033 0034 set(CRYPT_LIBRARIES) 0035 check_library_exists(crypt crypt "" HAVE_CRYPT) 0036 if (HAVE_CRYPT) 0037 set(CRYPT_LIBRARIES crypt) 0038 check_include_files(crypt.h HAVE_CRYPT_H) 0039 endif (HAVE_CRYPT) 0040 0041 if (PAM_FOUND) 0042 0043 set(HAVE_PAM 1) 0044 set(UNIXAUTH_LIBRARIES ${PAM_LIBRARIES}) 0045 set(UNIXAUTH_INCLUDE_DIRS ${PAM_INCLUDE_DIR}) 0046 0047 else (PAM_FOUND) 0048 0049 if (HAVE_GETSPNAM) 0050 set(UNIXAUTH_LIBRARIES ${SHADOW_LIBRARIES}) 0051 endif (HAVE_GETSPNAM) 0052 if (NOT HAVE_PW_ENCRYPT) 0053 set(UNIXAUTH_LIBRARIES ${UNIXAUTH_LIBRARIES} ${CRYPT_LIBRARIES}) 0054 endif (NOT HAVE_PW_ENCRYPT) 0055 0056 endif (PAM_FOUND)