FindNSS.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # - Try to find the NSS library
  2. # Once done this will define
  3. #
  4. # NSS_FOUND - system has the NSS library
  5. # NSS_INCLUDE_DIRS - Include paths needed
  6. # NSS_LIBRARY_DIRS - Linker paths needed
  7. # NSS_LIBRARIES - Libraries needed
  8. # Copyright (c) 2010, Ambroz Bizjak, <ambrop7@gmail.com>
  9. #
  10. # Redistribution and use is allowed according to the terms of the BSD license.
  11. # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  12. include(FindLibraryWithDebug)
  13. if (NSS_LIBRARIES)
  14. set(NSS_FIND_QUIETLY TRUE)
  15. endif ()
  16. set(NSS_FOUND FALSE)
  17. if (WIN32)
  18. find_path(NSS_FIND_INCLUDE_DIR nss/nss.h)
  19. FIND_LIBRARY_WITH_DEBUG(NSS_FIND_LIBRARIES_SSL WIN32_DEBUG_POSTFIX d NAMES ssl3)
  20. FIND_LIBRARY_WITH_DEBUG(NSS_FIND_LIBRARIES_SMIME WIN32_DEBUG_POSTFIX d NAMES smime3)
  21. FIND_LIBRARY_WITH_DEBUG(NSS_FIND_LIBRARIES_NSS WIN32_DEBUG_POSTFIX d NAMES nss3)
  22. if (NSS_FIND_INCLUDE_DIR AND NSS_FIND_LIBRARIES_SSL AND NSS_FIND_LIBRARIES_SMIME AND NSS_FIND_LIBRARIES_NSS)
  23. set(NSS_FOUND TRUE)
  24. set(NSS_INCLUDE_DIRS "${NSS_FIND_INCLUDE_DIR}" CACHE STRING "NSS include dirs")
  25. set(NSS_LIBRARY_DIRS "" CACHE STRING "NSS library dirs")
  26. set(NSS_LIBRARIES "${NSS_FIND_LIBRARIES_SSL};${NSS_FIND_LIBRARIES_SMIME};${NSS_FIND_LIBRARIES_NSS}" CACHE STRING "NSS libraries")
  27. endif ()
  28. else ()
  29. find_package(PkgConfig REQUIRED)
  30. pkg_check_modules(NSS_PC nss)
  31. if (NSS_PC_FOUND)
  32. set(NSS_FOUND TRUE)
  33. set(NSS_INCLUDE_DIRS "${NSS_PC_INCLUDE_DIRS}" CACHE STRING "NSS include dirs")
  34. set(NSS_LIBRARY_DIRS "${NSS_PC_LIBRARY_DIRS}" CACHE STRING "NSS library dirs")
  35. set(NSS_LIBRARIES "${NSS_PC_LIBRARIES}" CACHE STRING "NSS libraries")
  36. endif ()
  37. endif ()
  38. if (NSS_FOUND)
  39. if (NOT NSS_FIND_QUIETLY)
  40. MESSAGE(STATUS "Found NSS: ${NSS_INCLUDE_DIRS} ${NSS_LIBRARY_DIRS} ${NSS_LIBRARIES}")
  41. endif ()
  42. else ()
  43. if (NSS_FIND_REQUIRED)
  44. message(FATAL_ERROR "Could NOT find NSS")
  45. endif ()
  46. endif ()
  47. mark_as_advanced(NSS_INCLUDE_DIRS NSS_LIBRARY_DIRS NSS_LIBRARIES)