include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../libldap)
set(ldap_r_SRCS
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/bind.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/open.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/result.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/error.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/compare.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/search.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/controls.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/messages.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/references.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/extended.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/cyrus.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/modify.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/add.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/modrdn.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/delete.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/abandon.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/sasl.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/gssapi.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/sbind.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/unbind.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/cancel.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/filter.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/free.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/sort.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/passwd.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/whoami.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/getdn.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/getentry.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/getattr.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/getvalues.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/addentry.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/request.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/os-ip.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/url.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/pagectrl.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/sortctrl.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/vlvctrl.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/init.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/options.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/print.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/string.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/util-int.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/schema.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/charray.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/os-local.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/dnssrv.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/utf-8.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/utf-8-conv.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/tls2.c
#    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/tls_o.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/tls_g.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/tls_m.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/turn.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/ppolicy.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/dds.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/txn.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/ldap_sync.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/stctrl.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/assertion.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/deref.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/ldif.c
    ${CMAKE_CURRENT_SOURCE_DIR}/../libldap/fetch.c
)

set(ldap_r_add_SRCS
    threads.c
    rdwr.c
    rmutex.c
    tpool.c
    rq.c
    thr_posix.c
    thr_cthreads.c
    thr_thr.c
    thr_nt.c
    thr_pth.c
    thr_stub.c
    thr_debug.c
)

add_library(ldap_r ${LDAP_SHARED} ${ldap_r_SRCS} ${ldap_r_add_SRCS})
set_target_properties(ldap_r PROPERTIES DEFINE_SYMBOL LDAP_LIBRARY)
target_link_libraries(ldap_r lber)
install(TARGETS ldap_r ${INSTALL_TARGETS_DEFAULT_ARGS})
