123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- # https://github.com/KDE/kldap/blob/master/cmake/FindLdap.cmake
- # .rst:
- # FindLdap
- # --------
- #
- # Try to find the LDAP client libraries.
- #
- # This will define the following variables:
- #
- # ``Ldap_FOUND``
- # True if libldap is available.
- #
- # ``Ldap_VERSION``
- # The version of libldap
- #
- # ``Ldap_INCLUDE_DIRS``
- # This should be passed to target_include_directories() if
- # the target is not used for linking
- #
- # ``Ldap_LIBRARIES``
- # The LDAP libraries (libldap + liblber if available)
- # This can be passed to target_link_libraries() instead of
- # the ``Ldap::Ldap`` target
- #
- # If ``Ldap_FOUND`` is TRUE, the following imported target
- # will be available:
- #
- # ``Ldap::Ldap``
- # The LDAP library
- #
- # Since pre-5.0.0.
- #
- # Imported target since 5.1.41
- #
- #=============================================================================
- # SPDX-FileCopyrightText: 2006 Szombathelyi György <[email protected]>
- # SPDX-FileCopyrightText: 2007-2024 Laurent Montel <[email protected]>
- #
- # SPDX-License-Identifier: BSD-3-Clause
- #=============================================================================
- find_path(Ldap_INCLUDE_DIRS NAMES ldap.h)
- if(APPLE)
- find_library(
- Ldap_LIBRARIES
- NAMES LDAP
- PATHS /System/Library/Frameworks /Library/Frameworks
- )
- else()
- find_library(Ldap_LIBRARY NAMES ldap)
- find_library(Lber_LIBRARY NAMES lber)
- endif()
- if(Ldap_LIBRARY AND Lber_LIBRARY)
- set(Ldap_LIBRARIES ${Ldap_LIBRARY} ${Lber_LIBRARY})
- endif()
- if(EXISTS ${Ldap_INCLUDE_DIRS}/ldap_features.h)
- file(READ ${Ldap_INCLUDE_DIRS}/ldap_features.h LDAP_FEATURES_H_CONTENT)
- string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MAJOR[ ]+[0-9]+" _LDAP_VERSION_MAJOR_MATCH
- ${LDAP_FEATURES_H_CONTENT}
- )
- string(REGEX MATCH "#define LDAP_VENDOR_VERSION_MINOR[ ]+[0-9]+" _LDAP_VERSION_MINOR_MATCH
- ${LDAP_FEATURES_H_CONTENT}
- )
- string(REGEX MATCH "#define LDAP_VENDOR_VERSION_PATCH[ ]+[0-9]+" _LDAP_VERSION_PATCH_MATCH
- ${LDAP_FEATURES_H_CONTENT}
- )
- string(REGEX REPLACE ".*_MAJOR[ ]+(.*)" "\\1" LDAP_VERSION_MAJOR ${_LDAP_VERSION_MAJOR_MATCH})
- string(REGEX REPLACE ".*_MINOR[ ]+(.*)" "\\1" LDAP_VERSION_MINOR ${_LDAP_VERSION_MINOR_MATCH})
- string(REGEX REPLACE ".*_PATCH[ ]+(.*)" "\\1" LDAP_VERSION_PATCH ${_LDAP_VERSION_PATCH_MATCH})
- set(Ldap_VERSION "${LDAP_VERSION_MAJOR}.${LDAP_VERSION_MINOR}.${LDAP_VERSION_PATCH}")
- endif()
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(
- Ldap
- FOUND_VAR Ldap_FOUND
- REQUIRED_VARS Ldap_LIBRARIES Ldap_INCLUDE_DIRS
- VERSION_VAR Ldap_VERSION
- )
- if(Ldap_FOUND AND NOT TARGET Lber::Lber)
- add_library(Lber::Lber UNKNOWN IMPORTED)
- set_target_properties(Lber::Lber PROPERTIES IMPORTED_LOCATION "${Lber_LIBRARY}")
- endif()
- if(Ldap_FOUND AND NOT TARGET Ldap::Ldap)
- add_library(Ldap::Ldap UNKNOWN IMPORTED)
- set_target_properties(
- Ldap::Ldap
- PROPERTIES IMPORTED_LOCATION "${Ldap_LIBRARY}"
- INTERFACE_INCLUDE_DIRECTORIES "${Ldap_INCLUDE_DIRS}"
- INTERFACE_LINK_LIBRARIES Lber::Lber
- )
- endif()
- mark_as_advanced(Ldap_INCLUDE_DIRS Ldap_LIBRARY Lber_LIBRARY Ldap_LIBRARIES)
- include(FeatureSummary)
- set_package_properties(
- Ldap PROPERTIES
- URL "https://www.openldap.org/"
- DESCRIPTION "LDAP (Lightweight Directory Access Protocol) libraries."
- )
|