Merge pull request #23092 from webosbrew/feature/webOS
[xbmc.git] / cmake / modules / FindSmbClient.cmake
blob46ca64a9d10225834d4b7c2c287329d57934c0c0
1 #.rst:
2 # FindSmbClient
3 # -------------
4 # Finds the SMB Client library
6 # This will define the following variables::
8 # SMBCLIENT_FOUND - system has SmbClient
9 # SMBCLIENT_INCLUDE_DIRS - the SmbClient include directory
10 # SMBCLIENT_LIBRARIES - the SmbClient libraries
11 # SMBCLIENT_DEFINITIONS - the SmbClient definitions
13 # and the following imported targets::
15 #   SmbClient::SmbClient   - The SmbClient library
17 if(PKG_CONFIG_FOUND)
18   pkg_check_modules(PC_SMBCLIENT smbclient QUIET)
19 endif()
21 find_path(SMBCLIENT_INCLUDE_DIR NAMES libsmbclient.h
22                                 PATHS ${PC_SMBCLIENT_INCLUDEDIR})
23 find_library(SMBCLIENT_LIBRARY NAMES smbclient
24                                PATHS ${PC_SMBCLIENT_LIBDIR})
26 set(SMBCLIENT_VERSION ${PC_SMBCLIENT_VERSION})
28 include(FindPackageHandleStandardArgs)
29 find_package_handle_standard_args(SmbClient
30                                   REQUIRED_VARS SMBCLIENT_LIBRARY SMBCLIENT_INCLUDE_DIR
31                                   VERSION_VAR SMBCLIENT_VERSION)
33 if(SMBCLIENT_FOUND)
34   set(SMBCLIENT_LIBRARIES ${SMBCLIENT_LIBRARY})
35   if(${SMBCLIENT_LIBRARY} MATCHES ".+\.a$" AND PC_SMBCLIENT_STATIC_LIBRARIES)
36     list(APPEND SMBCLIENT_LIBRARIES ${PC_SMBCLIENT_STATIC_LIBRARIES})
37   endif()
38   set(SMBCLIENT_INCLUDE_DIRS ${SMBCLIENT_INCLUDE_DIR})
39   set(SMBCLIENT_DEFINITIONS -DHAS_FILESYSTEM_SMB=1)
41   if(NOT TARGET SmbClient::SmbClient)
42     add_library(SmbClient::SmbClient UNKNOWN IMPORTED)
43     set_target_properties(SmbClient::SmbClient PROPERTIES
44                                    IMPORTED_LOCATION "${SMBCLIENT_LIBRARY}"
45                                    INTERFACE_INCLUDE_DIRECTORIES "${SMBCLIENT_INCLUDE_DIR}"
46                                    INTERFACE_COMPILE_DEFINITIONS HAS_FILESYSTEM_SMB=1)
47   endif()
48 endif()
50 mark_as_advanced(LIBSMBCLIENT_INCLUDE_DIR LIBSMBCLIENT_LIBRARY)