Warning, /network/kio-extras/cmake/FindSamba.cmake is written in an unsupported language. File is not indexed.
0001 # - Try to find the samba directory library 0002 # Once done this will define 0003 # 0004 # SAMBA_FOUND - system has SAMBA 0005 # SAMBA_INCLUDE_DIR - the SAMBA include directory 0006 # SAMBA_LIBRARIES - The libraries needed to use SAMBA 0007 # Set SAMBA_REQUIRE_SMBC_SET_CONTEXT to TRUE if you need a version of Samba 0008 # which comes with smbc_set_context() 0009 0010 # SPDX-License-Identifier: BSD-3-Clause 0011 # SPDX-FileCopyrightText: 2006 Alexander Neundorf <neundorf@kde.org> 0012 0013 if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) 0014 # Already in cache, be silent 0015 set(Samba_FIND_QUIETLY TRUE) 0016 endif(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) 0017 0018 find_package(PkgConfig) 0019 if(PKG_CONFIG_FOUND) 0020 pkg_check_modules(PC_SAMBA smbclient) 0021 endif() 0022 0023 find_path(SAMBA_INCLUDE_DIR NAMES libsmbclient.h HINTS ${PC_SAMBA_INCLUDEDIR}) 0024 0025 find_library(SAMBA_LIBRARIES NAMES smbclient HINTS ${PC_SAMBA_LIBDIR}) 0026 0027 if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES) 0028 set(SAMBA_FOUND TRUE) 0029 # check whether libsmbclient has smbc_set_context() 0030 include(CheckSymbolExists) 0031 include(CMakePushCheckState) 0032 cmake_push_check_state() 0033 set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${SAMBA_LIBRARIES}) 0034 set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${SAMBA_INCLUDE_DIR}) 0035 check_symbol_exists(smbc_set_context "libsmbclient.h" SAMBA_HAVE_SMBC_SET_CONTEXT) 0036 check_symbol_exists(smbc_option_set "libsmbclient.h" SAMBA_HAVE_SMBC_OPTION_SET) 0037 cmake_pop_check_state() 0038 # fail if smbc_set_context() was required but hasn't been found 0039 if(SAMBA_REQUIRE_SMBC_SET_CONTEXT AND NOT SAMBA_HAVE_SMBC_SET_CONTEXT) 0040 set(SAMBA_FOUND FALSE) 0041 endif() 0042 # fail if smbc_option_set() was required but hasn't been found 0043 if (SAMBA_REQUIRE_SMBC_OPTION_SET AND NOT SAMBA_HAVE_SMBC_OPTION_SET) 0044 set(SAMBA_FOUND FALSE) 0045 endif() 0046 else() 0047 set(SAMBA_FOUND FALSE) 0048 set(SAMBA_HAVE_SMBC_SET_CONTEXT FALSE) 0049 endif() 0050 0051 if(SAMBA_FOUND) 0052 if(NOT Samba_FIND_QUIETLY) 0053 message(STATUS "Found samba: ${SAMBA_LIBRARIES}") 0054 endif() 0055 else() 0056 if(Samba_FIND_REQUIRED) 0057 message(FATAL_ERROR "Could not find Samba library") 0058 endif() 0059 endif() 0060 0061 mark_as_advanced(SAMBA_INCLUDE_DIR SAMBA_LIBRARIES)