2026-06-03 20:19:38 +02:00
2015-05-08 04:33:04 +00:00
2007-11-01 00:43:29 +00:00
2024-10-21 16:02:34 +00:00
2005-12-07 01:43:45 +00:00
2013-10-20 15:32:31 +00:00
2024-10-21 16:02:34 +00:00
2024-11-26 16:23:20 +00:00
2011-09-27 20:07:13 +00:00
2021-04-27 17:54:31 +00:00
2002-01-14 16:14:31 +00:00
2024-02-01 13:54:57 +00:00
2024-11-26 16:23:20 +00:00
2024-02-01 13:54:57 +00:00
2024-02-01 13:54:57 +00:00
2024-10-21 16:02:34 +00:00
2015-05-07 23:49:14 +00:00
2019-10-19 22:56:31 +00:00
2023-01-18 14:01:57 +00:00
2019-10-19 22:56:31 +00:00
2023-01-18 14:01:57 +00:00
2019-10-19 22:56:31 +00:00
2019-10-19 22:56:31 +00:00
2013-10-20 15:32:31 +00:00
2013-10-20 15:32:31 +00:00
2013-10-20 15:32:31 +00:00
2013-10-20 15:32:31 +00:00
2013-10-20 15:32:31 +00:00
2013-10-20 15:32:31 +00:00
2007-11-01 00:43:29 +00:00
2005-04-01 18:45:54 +00:00
2002-01-14 21:23:33 +00:00
2002-01-14 23:22:28 +00:00
2002-01-14 23:22:28 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-10-21 16:02:34 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-11-26 16:23:20 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2008-04-20 07:14:40 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2024-02-02 14:38:25 +00:00
2024-11-26 16:23:20 +00:00
2023-10-16 14:29:06 +00:00
2015-05-08 04:33:04 +00:00
2023-09-16 09:19:19 +00:00
2023-09-16 09:19:19 +00:00
2023-09-16 09:19:19 +00:00
2023-09-16 09:19:19 +00:00
2024-10-21 16:02:34 +00:00
2023-09-16 19:24:45 +00:00
2023-09-29 12:47:48 +00:00
2023-09-17 13:45:04 +00:00
2023-09-29 12:47:48 +00:00
2023-09-29 12:34:07 +00:00
2023-09-24 19:43:39 +00:00
2007-06-28 22:17:33 +00:00
2011-05-12 00:22:49 +00:00
2002-02-21 12:20:54 +00:00
2024-11-26 16:23:35 +00:00
2017-05-06 22:40:42 +00:00
2015-05-08 01:21:32 +00:00
2007-06-28 22:17:33 +00:00

tinyldap CMake build

This fork can be built with CMake in addition to the original Makefile. The CMake build is out-of-tree friendly and can be used either as a top-level project or via add_subdirectory().

Basic build

cmake -S . -B build
cmake --build build
ctest --test-dir build --output-on-failure
cmake --install build --prefix /usr/local

By default CMake builds a shared library, the server and the same command-line tools that the original Makefile builds.

Static and shared libraries

cmake -S . -B build \
  -DTINYLDAP_BUILD_STATIC=ON \
  -DTINYLDAP_BUILD_SHARED=ON

Custom server and library name

TINYLDAP_OUTPUT_NAME controls the library basename and, unless overridden, the server executable name:

cmake -S . -B build -DTINYLDAP_OUTPUT_NAME=nwdirectory

This builds libnwdirectory.so / libnwdirectory.a and a server named nwdirectory.

For a different server name only:

cmake -S . -B build \
  -DTINYLDAP_OUTPUT_NAME=nwdirectory \
  -DTINYLDAP_SERVER_NAME=my-ldapd

Include layout

Public headers are exported under an include subdirectory. By default it matches TINYLDAP_OUTPUT_NAME:

#include <tinyldap/ldap.h>

or with -DTINYLDAP_OUTPUT_NAME=nwdirectory:

#include <nwdirectory/ldap.h>

The build tree has the same layout under ${binary_dir}/include, which makes submodule use straightforward.

libowfat dependency

When libowfat is already present in the parent build, TinyLDAP uses the target libowfat::libowfat. Otherwise it tries find_package(libowfat CONFIG) and then a plain library lookup.

TinyLDAP sources use #include <libowfat/...>. If the libowfat build exports a prefixed include directory such as nwlibowfat, set:

-DTINYLDAP_LIBOWFAT_INCLUDE_SUBDIR=nwlibowfat

When TinyLDAP is added below the CMake libowfat build, this is detected from LIBOWFAT_INSTALL_INCLUDE_SUBDIR automatically.

If libowfat has been configured in a separate build tree but not installed yet, pass that build directory directly:

cmake -S . -B build \
  -DTINYLDAP_LIBOWFAT_BUILD_DIR=/path/to/mars-libowfat-build \
  -DTINYLDAP_LIBOWFAT_INCLUDE_SUBDIR=nwlibowfat

TinyLDAP also detects this situation when the libowfat build directory is listed in CMAKE_PREFIX_PATH and contains a build-tree libowfat-config.cmake without an installed libowfat-targets.cmake.

OpenSSL / MatrixSSL compat

TinyLDAP currently needs OpenSSL-style MD5 APIs for auth.c and md5password.c. If the parent project already provides OpenSSL::Crypto via MatrixSSL's OpenSSL-compat target, TinyLDAP will use it. Otherwise CMake falls back to the system OpenSSL Crypto library.

For a separate MatrixSSL build tree that has not been installed, pass:

cmake -S . -B build \
  -DTINYLDAP_MATRIXSSL_BUILD_DIR=/path/to/mars-matrixssl-build \
  -DTINYLDAP_MATRIXSSL_INCLUDE_SUBDIR=nwmatrixssl

The MatrixSSL include subdirectory is auto-detected when possible. The imported build-tree target adds the correct include root so TinyLDAP's #include <openssl/md5.h> can resolve MatrixSSL's OpenSSL compatibility header. If that build tree does not provide openssl/md5.h, TinyLDAP generates a small build-local MD5 wrapper around MatrixSSL's psMd5* API.

Description
No description provided
Readme 460 KiB
Languages
C 92.6%
CMake 5.3%
Makefile 2.1%