set(ldap_tools
    ldapsearch
    ldapmodify
    ldapdelete
    ldapmodrdn
    ldappasswd
    ldapwhoami
    ldapcompare
    ldapexop
    ldapurl
)

foreach(_tool ${ldap_tools})
    # the next file was called ld[dmprsvu]version.c but is renamed here
    file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR}/build/version.h _version_h)
    file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${_tool}_version.c _version_c)
    if(MINGW)
        string(REPLACE "/" "\\" _version_h ${_version_h})
        string(REPLACE "/" "\\" _version_c ${_version_c})
    endif(MINGW)
    add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_tool}_version.c"
                       COMMAND ${CMAKE_SOURCE_DIR}/build/mkvers.bat
                       ARGS ${_version_h} ${_version_c} > NUL)
    set(${_tool}_SRCS ${_tool}.c ${_tool}_version.c)
    if(NOT ${_tool} MATCHES ldapurl)
        list(APPEND ${_tool}_SRCS common.c)
    endif(NOT ${_tool} MATCHES ldapurl)
    add_executable(${_tool} ${${_tool}_SRCS})
    target_link_libraries(${_tool} lber lutil ldap_r)
endforeach(_tool ${ldap_tools})

install(TARGETS ${ldap_tools} ${INSTALL_TARGETS_DEFAULT_ARGS})
