summaryrefslogtreecommitdiffstats
path: root/project/cmake/modules/FindSmbClient.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'project/cmake/modules/FindSmbClient.cmake')
-rw-r--r--project/cmake/modules/FindSmbClient.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/project/cmake/modules/FindSmbClient.cmake b/project/cmake/modules/FindSmbClient.cmake
new file mode 100644
index 0000000..6455cce
--- /dev/null
+++ b/project/cmake/modules/FindSmbClient.cmake
@@ -0,0 +1,47 @@
1#.rst:
2# FindSmbClient
3# -------------
4# Finds the SMB Client library
5#
6# This will will define the following variables::
7#
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
12#
13# and the following imported targets::
14#
15# SmbClient::SmbClient - The SmbClient library
16
17if(PKGCONFIG_FOUND)
18 pkg_check_modules(PC_SMBCLIENT smbclient QUIET)
19endif()
20
21find_path(SMBCLIENT_INCLUDE_DIR NAMES libsmbclient.h
22 PATHS ${PC_SMBCLIENT_INCLUDEDIR})
23find_library(SMBCLIENT_LIBRARY NAMES smbclient
24 PATHS ${PC_SMBCLIENT_LIBDIR})
25
26set(SMBCLIENT_VERSION ${PC_SMBCLIENT_VERSION})
27
28include(FindPackageHandleStandardArgs)
29find_package_handle_standard_args(SmbClient
30 REQUIRED_VARS SMBCLIENT_LIBRARY SMBCLIENT_INCLUDE_DIR
31 VERSION_VAR SMBCLIENT_VERSION)
32
33if(SMBCLIENT_FOUND)
34 set(SMBCLIENT_LIBRARIES ${SMBCLIENT_LIBRARY})
35 set(SMBCLIENT_INCLUDE_DIRS ${SMBCLIENT_INCLUDE_DIR})
36 set(SMBCLIENT_DEFINITIONS -DHAVE_LIBSMBCLIENT=1)
37
38 if(NOT TARGET SmbClient::SmbClient)
39 add_library(SmbClient::SmbClient UNKNOWN IMPORTED)
40 set_target_properties(SmbClient::SmbClient PROPERTIES
41 IMPORTED_LOCATION "${SMBCLIENT_LIBRARY}"
42 INTERFACE_INCLUDE_DIRECTORIES "${SMBCLIENT_INCLUDE_DIR}"
43 INTERFACE_COMPILE_DEFINITIONS HAVE_LIBSMBCLIENT=1)
44 endif()
45endif()
46
47mark_as_advanced(LIBSMBCLIENT_INCLUDE_DIR LIBSMBCLIENT_LIBRARY)