FindSMBClient.cmake 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # - Try to find SMBClient
  2. # Once done this will define
  3. #
  4. # SMBCLIENT_FOUND - system has SMBClient
  5. # SMBCLIENT_INCLUDE_DIRS - the SMBClient include directory
  6. # SMBCLIENT_LIBRARIES - Link these to use SMBClient
  7. # SMBCLIENT_DEFINITIONS - Compiler switches required for using SMBClient
  8. #
  9. # Copyright (c) 2013 Andreas Schneider <asn@cryptomilk.org>
  10. #
  11. # Redistribution and use is allowed according to the terms of the New
  12. # BSD license.
  13. # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
  14. #
  15. if (SMBCLIENT_LIBRARIES AND SMBCLIENT_INCLUDE_DIRS)
  16. # in cache already
  17. set(SMBCLIENT_FOUND TRUE)
  18. else (SMBCLIENT_LIBRARIES AND SMBCLIENT_INCLUDE_DIRS)
  19. find_package(PkgConfig)
  20. if (PKG_CONFIG_FOUND)
  21. pkg_check_modules(_SMBCLIENT smbclient)
  22. endif (PKG_CONFIG_FOUND)
  23. find_path(SMBCLIENT_INCLUDE_DIR
  24. NAMES
  25. libsmbclient.h
  26. PATHS
  27. ${_SMBCLIENT_INCLUDEDIR}
  28. /usr/include
  29. /usr/local/include
  30. /opt/local/include
  31. /sw/include
  32. )
  33. find_library(SMBCLIENT_LIBRARY
  34. NAMES
  35. smbclient
  36. PATHS
  37. ${_SMBCLIENT_LIBDIR}
  38. /usr/lib
  39. /usr/local/lib
  40. /opt/local/lib
  41. /sw/lib
  42. )
  43. set(SMBCLIENT_INCLUDE_DIRS
  44. ${SMBCLIENT_INCLUDE_DIR}
  45. )
  46. if (SMBCLIENT_LIBRARY)
  47. set(SMBCLIENT_LIBRARIES
  48. ${SMBCLIENT_LIBRARIES}
  49. ${SMBCLIENT_LIBRARY}
  50. )
  51. endif (SMBCLIENT_LIBRARY)
  52. include(FindPackageHandleStandardArgs)
  53. find_package_handle_standard_args(SMBClient DEFAULT_MSG SMBCLIENT_LIBRARIES SMBCLIENT_INCLUDE_DIRS)
  54. # show the SMBCLIENT_INCLUDE_DIRS and SMBCLIENT_LIBRARIES variables only in the advanced view
  55. mark_as_advanced(SMBCLIENT_INCLUDE_DIRS SMBCLIENT_LIBRARIES)
  56. endif (SMBCLIENT_LIBRARIES AND SMBCLIENT_INCLUDE_DIRS)